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