回答編集履歴

8

間違えていました

2015/12/08 05:44

投稿

hsk
hsk

スコア728

test CHANGED
@@ -1,4 +1,10 @@
1
+ password_verify が使われていましたね。失礼しました、下記は問題ありません。。
2
+
3
+
4
+
5
+ ---
6
+
1
- こんにちは。[password_hash](http://php.net/manual/ja/function.password-hash.php)のソルトは毎回ランダムなものが利用されます。ゆえにDBにある、事前に生成した「ハッシュ済みパスワード文字列」と、パスワード入力されて照合する際に生成されるハッシュ文字列とは、異なった内容になると思います。
7
+ [password_hash](http://php.net/manual/ja/function.password-hash.php)のソルトは毎回ランダムなものが利用されます。ゆえにDBにある、事前に生成した「ハッシュ済みパスワード文字列」と、パスワード入力されて照合する際に生成されるハッシュ文字列とは、異なった内容になると思います。
2
8
 
3
9
 
4
10
 

7

改行

2015/12/08 05:44

投稿

hsk
hsk

スコア728

test CHANGED
@@ -8,7 +8,13 @@
8
8
 
9
9
 
10
10
 
11
+ htmlspecialcharsは、HTML出力するために利用するもので、使うところはヒアドキュメントの中や直近です。
12
+
13
+
14
+
11
- htmlspecialcharsは、HTML出力すために利用するもで、使うところはヒアドキュメントの中や直近です。[http://qiita.com/mpyw/items/2f9955db1c02eeef43ea](http://qiita.com/mpyw/items/2f9955db1c02eeef43ea)
15
+ [Qiita - $_GET, $_POSTなどを受け取処理](http://qiita.com/mpyw/items/2f9955db1c02eeef43ea)
16
+
17
+
12
18
 
13
19
  もしパスワード文字列内に & < > などがあれば、ここで加工されてしまいますので、ハッシュ関係の処理でうまく行えたとしても照合結果NGとなるでしょう。
14
20
 

6

整形

2015/12/08 05:35

投稿

hsk
hsk

スコア728

test CHANGED
@@ -2,15 +2,15 @@
2
2
 
3
3
 
4
4
 
5
+ ---
6
+
5
- http://php.net/manual/ja/function.password-hash.php
7
+ あと、余談ですみませんが、初っ端でPOST変数のsanitize(htmlspecialchars)を行っている箇所は、ちょっと怪しいです。
6
8
 
7
9
 
8
10
 
9
- あと、初っ端でPOST変数のsanitize(htmlspecialchars)を行ってい箇所がちょっ怪しいです。
11
+ htmlspecialcharsは、HTML出力すために利用するもので使うころはヒアドキュメントの中や直近です。[http://qiita.com/mpyw/items/2f9955db1c02eeef43ea](http://qiita.com/mpyw/items/2f9955db1c02eeef43ea)
10
12
 
11
-
12
-
13
- htmlspecialcharsはHTML出力るために利用するもので、使うのであればヒアドキメント中や直近[http://qiita.com/mpyw/items/2f9955db1c02eeef43ea](http://qiita.com/mpyw/items/2f9955db1c02eeef43ea)
13
+ もしパスワード文字列内に & < > などがあればここで加工されてしまいますので、ハッシ関係処理うまく行えたとしても照合結果NGとなるでしょう
14
14
 
15
15
 
16
16
 

5

補足

2015/12/08 05:33

投稿

hsk
hsk

スコア728

test CHANGED
@@ -1,4 +1,4 @@
1
- こんにちは。password_hash()のソルトは毎回変更されます。ゆえにDBにあるハッシュ済みパスワード文字列とは異なった内容になると思います。
1
+ こんにちは。[password_hash](http://php.net/manual/ja/function.password-hash.php)のソルトは毎回ランダムなものが利用されます。ゆえにDBにある、事前に生成した「ハッシュ済みパスワード文字列、パスワード入力されて照合する際に生成されるハッシュ文字列と異なった内容になると思います。
2
2
 
3
3
 
4
4
 

4

修正

2015/12/08 05:31

投稿

hsk
hsk

スコア728

test CHANGED
@@ -1,15 +1,17 @@
1
- こんにちは。
1
+ こんにちは。password_hash()のソルトは毎回変更されます。ゆえにDBにあるハッシュ済みパスワード文字列とは異なった内容になると思います。
2
2
 
3
- 初っ端でPOST変数のsanitize(htmlspecialchars)を行っている箇所が、ちょっと怪しいです。
4
3
 
4
+
5
+ http://php.net/manual/ja/function.password-hash.php
6
+
7
+
8
+
5
- ハッシュされた値が、htmlspecialchars関数で加工されてしまっていませんか?
9
+ あと初っ端でPOST変数のsanitize(htmlspecialchars)を行っている箇所が、ちょっと怪しいです。
6
10
 
7
11
 
8
12
 
9
13
  htmlspecialcharsは、HTML出力するために利用するもので、使うのであればヒアドキュメントの中や直近です。[http://qiita.com/mpyw/items/2f9955db1c02eeef43ea](http://qiita.com/mpyw/items/2f9955db1c02eeef43ea)
10
14
 
11
- この関数をパスワード照合前に呼んでしまっていることで、パスワードなどのデータ自体を入力内容から加工してしまっている気がします。
12
-
13
15
 
14
16
 
15
17
  POSTやGETされる値の安全な取得は、[filter_input](http://php.net/manual/ja/function.filter-input.php) 関数を利用すると便利です。

3

再修正

2015/12/08 05:29

投稿

hsk
hsk

スコア728

test CHANGED
@@ -1,14 +1,8 @@
1
- 失礼しました。ハッシュしなければうまく動くと、質問文に書いてありますね。
2
-
3
-
4
-
5
- ---
6
-
7
-
8
-
9
1
  こんにちは。
10
2
 
11
3
  初っ端でPOST変数のsanitize(htmlspecialchars)を行っている箇所が、ちょっと怪しいです。
4
+
5
+ ハッシュされた値が、htmlspecialchars関数で加工されてしまっていませんか?
12
6
 
13
7
 
14
8
 

2

修正

2015/12/08 05:25

投稿

hsk
hsk

スコア728

test CHANGED
@@ -1,6 +1,14 @@
1
+ 失礼しました。ハッシュしなければうまく動くと、質問文に書いてありますね。
2
+
3
+
4
+
5
+ ---
6
+
7
+
8
+
1
9
  こんにちは。
2
10
 
3
- 初っ端でPOST変数のsanitize(htmlspecialchars)を行っている箇所が、まず怪しいです。
11
+ 初っ端でPOST変数のsanitize(htmlspecialchars)を行っている箇所が、ちょっと怪しいです。
4
12
 
5
13
 
6
14
 

1

改行

2015/12/08 05:24

投稿

hsk
hsk

スコア728

test CHANGED
@@ -1,9 +1,13 @@
1
- こんにちは。
1
+ こんにちは。
2
2
 
3
3
  初っ端でPOST変数のsanitize(htmlspecialchars)を行っている箇所が、まず怪しいです。
4
+
5
+
4
6
 
5
7
  htmlspecialcharsは、HTML出力するために利用するもので、使うのであればヒアドキュメントの中や直近です。[http://qiita.com/mpyw/items/2f9955db1c02eeef43ea](http://qiita.com/mpyw/items/2f9955db1c02eeef43ea)
6
8
 
7
9
  この関数をパスワード照合前に呼んでしまっていることで、パスワードなどのデータ自体を入力内容から加工してしまっている気がします。
8
10
 
11
+
12
+
9
- POSTやGETされる値の安全な取得は、filter_input 関数を利用すると便利です。
13
+ POSTやGETされる値の安全な取得は、[filter_input](http://php.net/manual/ja/function.filter-input.php) 関数を利用すると便利です。