気づけばプロ並みPHPのセキュリティアドバイスの共有。
「気づけばプロ並みPHP」という書籍にはセキュリティアドバイスというのが付いています。このセキュリティアドバイスは、このように実装せよとは書いておらず、参考サイトなどが掲載されています。ここでは私が参考にしたサイトを共有したいと思います。
参考サイト一覧
passwordhash関数
http://php.net/manual/ja/function.password-hash.php
passwordhash関数で照合するにはpassword_verify関数を使います。
http://php.net/manual/ja/function.password-verify.php
csrf対策
書籍にはIPAのサイトが載っていましたが、実装方法は書いていません。ですのでこちらのサイトを参考に実装しました。
https://www.websec-room.com/2013/03/07/479
http://noumenon-th.net/programming/2016/02/03/csrf/
商品追加機能の脆弱性
こちらは商品画像をアップロードするときに脆弱性があるそうです。徳丸先生のサイトを参考にしました。
https://blog.tokumaru.org/2014/01/php.html
メールヘッダーインジェクション
改行コードを受け付けないような実装をしました。ただしユーザーからの入力値をメール―ヘッダーに含めない方がいいようですね。
商品を購入したらカートを空にする。
unset関数でsessionのcartとkazuを空にするのがいいようです。書籍に書いてあるclear_cart.phpはエラーが出るので使いませんでした。
http://php.net/manual/ja/function.unset.php
注文データのファイル名をランダムに生成
こちらのサイトを参考にしました。