回答編集履歴
5
追記
answer
CHANGED
@@ -15,4 +15,8 @@
|
|
15
15
|
PHPで推奨される対応は[password_hash()](https://www.php.net/manual/ja/function.password-hash.php)によるハッシュ化と[password_verify()](https://www.php.net/manual/ja/function.password-verify.php)による検証です。
|
16
16
|
|
17
17
|
参考:[2018年のパスワードハッシュ](https://qiita.com/rana_kualu/items/3ef57485be1103362f56)
|
18
|
-
「2018年の」というタイトルですが、今でも通じると思いますし、最終的には「ソーシャルログインで十分、どうしてもならフレームワーク採用(自力で実装するな)」は変わらないと思います。
|
18
|
+
「2018年の」というタイトルですが、今でも通じると思いますし、最終的には「ソーシャルログインで十分、どうしてもならフレームワーク採用(自力で実装するな)」は変わらないと思います。
|
19
|
+
|
20
|
+
下記のような記事も参考にしてください。
|
21
|
+
[PHPでログイン機能を実装するチュートリアル](https://qiita.com/ShibuyaKosuke/items/f114ffccf441edb2b745)
|
22
|
+
[PHPログイン機能](https://qiita.com/ryo-futebol/items/5fb635199acc2fcbd3ff)
|
4
修正
answer
CHANGED
@@ -9,6 +9,8 @@
|
|
9
9
|
```
|
10
10
|
|
11
11
|
- try-catchで捕捉した例外を出力していない
|
12
|
+
- [fetch()](https://www.php.net/manual/ja/pdostatement.fetch.php)の返却値は関数自体の正否なので「SELECTの実行結果、0件だった」が判定できるか微妙。
|
13
|
+
- 成功した場合に遷移させているが、どこにもユーザー情報を保持しないまま遷移させているので、「誰でログインしたか」保持させる必要がある(例:[セッション](https://www.php.net/manual/ja/session.examples.basic.php))
|
12
14
|
|
13
15
|
PHPで推奨される対応は[password_hash()](https://www.php.net/manual/ja/function.password-hash.php)によるハッシュ化と[password_verify()](https://www.php.net/manual/ja/function.password-verify.php)による検証です。
|
14
16
|
|
3
修正
answer
CHANGED
@@ -4,12 +4,12 @@
|
|
4
4
|
- パスワードを平文で保存している
|
5
5
|
- 画面表示しない情報にhtmlspecialchars()を入れている
|
6
6
|
- データ上のパスワードが平文だがmd5()でハッシュ値を条件にしている
|
7
|
-
- try-catchで捕捉した例外を出力していない
|
8
|
-
|
9
7
|
```php
|
10
8
|
echo md5("bep123"); //f5c9f5916ef4cecb8944d9b685dfb1df
|
11
9
|
```
|
12
10
|
|
11
|
+
- try-catchで捕捉した例外を出力していない
|
12
|
+
|
13
13
|
PHPで推奨される対応は[password_hash()](https://www.php.net/manual/ja/function.password-hash.php)によるハッシュ化と[password_verify()](https://www.php.net/manual/ja/function.password-verify.php)による検証です。
|
14
14
|
|
15
15
|
参考:[2018年のパスワードハッシュ](https://qiita.com/rana_kualu/items/3ef57485be1103362f56)
|
2
修正
answer
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
たくさんあります。
|
4
4
|
- パスワードを平文で保存している
|
5
5
|
- 画面表示しない情報にhtmlspecialchars()を入れている
|
6
|
-
- パスワードが平文だがmd5()でハッシュ値を条件にしている
|
6
|
+
- データ上のパスワードが平文だがmd5()でハッシュ値を条件にしている
|
7
7
|
- try-catchで捕捉した例外を出力していない
|
8
8
|
|
9
9
|
```php
|
1
修正
answer
CHANGED
@@ -13,4 +13,4 @@
|
|
13
13
|
PHPで推奨される対応は[password_hash()](https://www.php.net/manual/ja/function.password-hash.php)によるハッシュ化と[password_verify()](https://www.php.net/manual/ja/function.password-verify.php)による検証です。
|
14
14
|
|
15
15
|
参考:[2018年のパスワードハッシュ](https://qiita.com/rana_kualu/items/3ef57485be1103362f56)
|
16
|
-
「2018年の」というタイトルですが、今でも通じると思いますし、最終的には「フレームワーク
|
16
|
+
「2018年の」というタイトルですが、今でも通じると思いますし、最終的には「ソーシャルログインで十分、どうしてもならフレームワーク採用(自力で実装するな)」は変わらないと思います。
|