大きな混乱を招く問題、CSRF 攻撃を効果的に防ぐ方法
インターネット上には
$_SERVER['HTTP_REFERER']
を使用する方法があります。しかし、一部の記事では、
リファラーが次のような可能性があることも指摘しています。偽造
たとえば
header("referer:www.aaa.com")
...
?>
試してみたところ、どうやらコンソールで確認しました。リファラーは変更されました
ですが、$_SERVER['HTTP_REFERER'] は空です。つまり、問題はないようです
では、このパラメーターは機能しますか?それを防ぐことはできるでしょうか?
------解決策---------
CSRF は信頼できるユーザーからのリクエストを偽装することによって発生します 信頼できる Web サイトを利用します
$_SERVER['HTTP_REFERER'] の使用は明らかに許可されていません。偽造される可能性があるからです (あなたもご存知でしょう)
フォームの場合、インスタント リリースを配置できます ランダムな文字列 (トークン) または検証コード
通常のページの場合、ajax 経由でパスワードを取得できます (ajax はクロスドメインではなく、js の動作をシミュレートするのは技術的に難しいため)
ページのオブジェクト (画像、写真など) を渡すこともできます。中間段階と後の段階でロードされるファイル) は、追加の Cookie 変数を渡すために使用されます
パッシブ防御中に、ページ内の不明な接続をフィルターで除外できます
------解決策------
Baidu Curl シミュレーション ログインを使用すると、PHP 実践 QQ グループ: 33918040