teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

5

追記

2020/09/16 07:23

投稿

m.ts10806
m.ts10806

スコア80888

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

修正

2020/09/16 07:23

投稿

m.ts10806
m.ts10806

スコア80888

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

修正

2020/09/16 07:21

投稿

m.ts10806
m.ts10806

スコア80888

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

修正

2020/09/16 07:17

投稿

m.ts10806
m.ts10806

スコア80888

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

修正

2020/09/16 07:16

投稿

m.ts10806
m.ts10806

スコア80888

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年の」というタイトルですが、今でも通じると思いますし、最終的には「ソーシャルログインで十分、どうしてもならフレームワーク採用(自力で実装するな)」は変わらないと思います。