安全なセッションの作り方
セッション用の Cookie 変数の名前をデフォルトのままにしない。
Cookie 変数はすぐに見ることができるが、固定的な Cookie 変数名はツールでアタックされやすい。
PHP の場合、session_name 関数でセッション名を作る。
未初期化セッションIDを受け取らない。つまり、サーバー上で保持していないセッションIDを外部から受け取った場合は、そのセッションIDは使用しない。
セッションIDを固定してアタックされやすい。
PHP の場合、session.use_strict_mode = On にする。
URL にセッションIDを含めない。
URL からセッションIDが漏れてしまう。
JavaScript でアクセスする必要がないなら httponly 属性を付けた Cookie にする。
自分のアプリケーションディレクトリより上に Cookie のアクセス権を与えないようにする。
PHP の場合、session.cookie_path 設定か、session_set_cookie_params 関数で設定する。
参考