【 PHP 】PHP8に入門してみた 225日目 PHPの基本 ( 高度 セキュリティ その3 )
PHP8技術者認定初級試験 が始まるようなので 試験に向けて (できるだけ)勉強しようと思います! 使用する書籍は独習PHP 第4版(山田 祥寛)|翔泳社の本 (shoeisha.co.jp) となります。
高度
クロスサイトリクエストフォージェリ
PHPではクロスサイトリクエストフォージェリの対策に「トークン」を推奨しているようです。
- フォームにトークンを追加する:
フォームにランダムなトークンを追加しセッションに保存します。
フォームの送信時にトークンを送信することでCSRF攻撃を防止できます。 - トークンを検証する:
フォームが送信されたときに送信されたトークンをセッションに保存されたトークンと比較します。
トークンが一致しない場合は、フォームの送信を拒否します。
<?php // トークンを生成してセッションに保存する $token = bin2hex(random_bytes(32)); $_SESSION['token'] = $token; ?> <form method="POST" action="submit.php"> <!-- 生成したトークンをhiddenで送信する --> <input type="hidden" name="token" value="<?php echo $token; ?>"> <!-- フォームのその他のフィールド --> <input type="text" name="name"> <input type="email" name="email"> <button type="submit">Submit</button> </form>
メモ
今日は時間が無い!
ディスカッション
コメント一覧
まだ、コメントがありません