以下の記事の内容に従って、PHP で CSRF の安全なトークンを作成する方法をご紹介します。
PHP の 暗号論的擬似乱数生成器 で乱数を作成できる関数は、openssl_random_pseudo_bytes 関数(>=PHP5.3.0)になります。
また、安全なトークンの桁数は32桁になります。
//32バイトのCSRFトークンを作成 function get_csrf_token() { $TOKEN_LENGTH = 16;//16*2=32バイト $bytes = openssl_random_pseudo_bytes($TOKEN_LENGTH); return bin2hex($bytes); }
この関数によって生成されたトークンは以下のようになります。
3f7d22402f6ac375bf1168c3ef5d8f08
参考
Webアプリケーションセキュリティに関する記事は、以下のページにまとまっています。ぜひご確認ください。
コメント