ファイルのホスティングおよび共有Webアプリケーションを開発しています。
次のPHPセッション設定は十分に安全ですか?
ini_set('session.cookie_httponly', 1);
ini_set('session.cookie_lifetime', 0);
ini_set('session.entropy_file', '/dev/urandom');
ini_set('session.hash_function', 'whirlpool'); //is whirlpool that necessary?
ini_set('session.use_only_cookies', 1);
ini_set('session.hash_bits_per_character', 5);
ini_set('session.cookie_secure', 1);
session_name('sid');
session_start();
if (!isset($_COOKIE['sid'])) {
$_SESSION['token'] = CryptoCharGen::alnum(); //20 chars
}
セキュリティに追加するには:
デフォルトのPHPセッション名を名前変更するために読んだので、代わりにsid
という名前を付けました。それで十分ですか?
自分のジェネレータでセッションIDを生成する必要がありますか? (CryptoCharGen)
セッション変数に名前を付ける方法を気にする必要がありますか?
session.entropy_length = 512
とsession.use_trans_sid = 0
を追加することもできます。
また、次のことも忘れないでください。
セキュリティとは関係ありませんが、session.hash_bits_per_character
を6に変更しないでください。数値が大きいほど、サーバーとの間で送信される文字列は短くなります。
以下は、セッションを安全にするための追加の手順です。
あなたはもっと見つけることができます