koizumi1227 / php-training

0 stars 0 forks source link

XSS対策、CSRF対策をやってみよう。 #22

Open saitos01 opened 6 years ago

saitos01 commented 6 years ago

XSS対策について。

CSRF対策について。

koizumi1227 commented 6 years ago

@shoheis XSS対策について。 上記の例ですと、

value: <?php echo $_POST['xss_text']; ?>

から

value: <?php echo htmlspecialchars($_POST['xss_text'];) ?>

へ変更することで防げると思います。 外部から受け取った情報をhtmlへ出力する時に< > ' " $をエスケープすることでまず一つ目。 aタグhrefを扱う際に、外部からの情報でlinkを生成する場合には入力チェックを行うことで、 http;// , https:// から始まるものにするというのが二つ目。 大半がこの二つで防げるという考えで合っていますか?

下のURLにその他にも対策があるそうですが、全部追うのは難しいですね…。https://www.owasp.org/index.php/XSS_%28Cross_Site_Scripting%29_Prevention_Cheat_Sheet

CSRF対策について。 ログイン機能にsessionIDをhash化してそれをtokenにすることで組み込むようにしました!

saitos01 commented 6 years ago

XSS対策について ばっちりですね。

大半がこの二つで防げるという考えで合っていますか?

あっております。 まずhtmlspecialcharsをしている時点で大半のものは防げると考えて良いとおもいます。 http://www.asahi-net.or.jp/~wv7y-kmr/memo/php_security.html#XSS

書いてくださった2点に注意すれば他は今気にする必要はないかと。

CSRF対策について。

ログイン機能にsessionIDをhash化してそれをtokenにすることで組み込むようにしました!

こちらもざっと見た限り問題なさそうでした。 ログインに関しては追加の課題を出させていただきましたのでそちらに取り組んでみましょう。

saitos01 commented 6 years ago

@koizumi1227 ↑メンション抜けておりました。