
![]() | 新品価格 |

SQLアンチパターン18章を読んだ
の続編
19章はリーダブルパスワード
以下、セキュリティだよ
・本章は
パスワードのリカバリーと
リセットの方法について
・平文
DBに平文でパスワードを入れると
DBへのネットワーク通信の傍受や
SQLクエリログを探されたりと問題がある
・パスワードが合ってたら1を返す
select case when password = 'aaa' then 1 else 0 end
from hogehoge
SQLにパスワード書いたらダメだけど
こういうやり方もあるんやで
・SHA2
SSLをサポートしたMySQLならSHA2が使える
sha2('aaa', 256)
でsha2になる
・ソルト
パスワード毎に別々のソルトをつけると
セキュリティがあがる
sha2('aaa' || solt, 256)
・PHPで暗号化
ここまで書いてきた方法は
SQL内で平文を使っているので
PHP等でsha2にしてからSQLに入れましょう
・パスワードを忘れた場合
リセットしてトークンを発行する
DB上でトークンが一致して
expireしてなければリセットを実行させる
本章はセキュリティ的に安全な
パスワードシステムの構築方法が載っていて
大変ためになりました。
セキュリティに気をつけながらいけてるシステムを作ろう
続く
タグ:SQL