回答編集履歴

5

追記

2020/09/16 07:23

投稿

m.ts10806
m.ts10806

スコア80852

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

修正

2020/09/16 07:23

投稿

m.ts10806
m.ts10806

スコア80852

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

修正

2020/09/16 07:21

投稿

m.ts10806
m.ts10806

スコア80852

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

修正

2020/09/16 07:17

投稿

m.ts10806
m.ts10806

スコア80852

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

修正

2020/09/16 07:16

投稿

m.ts10806
m.ts10806

スコア80852

test CHANGED
@@ -28,4 +28,4 @@
28
28
 
29
29
  参考:[2018年のパスワードハッシュ](https://qiita.com/rana_kualu/items/3ef57485be1103362f56)
30
30
 
31
- 「2018年の」というタイトルですが、今でも通じると思いますし、最終的には「フレームワーク使え(自力で実装するな)」は変わらないと思います。
31
+ 「2018年の」というタイトルですが、今でも通じると思いますし、最終的には「ソーシャルログインで十分、どうしてもならフレームワーク採用(自力で実装するな)」は変わらないと思います。