2

私は Web 開発の初心者で、CSRF、XSS、およびセッション ハイジャックについて読みました。提案された解決策の 1 つは、単純に a を使用しnonceてリクエストの有効性をチェックすることです。セッションハイジャックを防ぐために、このスクリプトを PHP で作成しました。識別子、またはその組み合わせ (セッション ID とノンス) が要求ごとに変更されるという点で、セッション ID の再生成と精神的に似ていると思います。

if(!isset($_SESSION["user"]["nonce"]) || 
   $_SESSION["user"]["nonce"] == $_COOKIE["SITE_nonce"])
{
    $nonce = md5(uniqid());
    $_SESSION["user"]["nonce"] = $nonce
    setcookie("SITE_nonce", $nonce, 0, "/path");
}
else
    die("Invalid Request");

これで十分ですか?SSL がセッション ハイジャックの良い解決策になることはわかっていますが、このアプローチについての洞察を期待しています。何か不足していますか?

4

1 に答える 1

0

これは実際によくある問題で、これまで何度も議論されてきました。http://owasp.com/index.php/Main_Pageなどのセキュリティ ページにアクセスして、非常に優れたガイドを入手することをお勧めします。

実装に関しては、最初の人がセッションとIPを取得するときに生成するある種のハッシュを保存することもできます。また、私はクッキーで良い時間を過ごすと思います.

于 2011-08-24T06:42:58.280 に答える