編集:CSRFが実際に何であるかについて少し混乱したようです。質問を書き直しました
--
したがって、CSRF の防止に関する投稿がたくさんあることは知っていますが、一般的な方法を回避する方法はたくさんあります。
CSRF トークン- フォームに CSRF トークンを設定し、同じデータを使用して Cookie を割り当て、サーバー側で照合します
ユーザーエージェントの確認- すべてのリクエストに有効なユーザーエージェントがあることを確認する簡単な方法。簡単にバイパスされますが、それでも簡単なチェックです
IP に基づく制限- リクエスタの IP アドレスに基づいてリクエストを制限します。
--
しかし、それはすべて簡単に回避できます。この種のことを防ぐために他に何ができるでしょうか?CAPTCHA 以外でお願いします。
URL 短縮サービスのサンプル サイトを考えてみましょう。
- ユーザーがリクエストを送信 -> 短縮 URL を返します。
- スクリプトは、(元のフォームから) 有効なリファラーをチェックします -- 簡単に偽装できます
- IP アドレスに基づくチェック -- プロキシはこれを簡単に回避します
- CSRF トークンをチェックします -- スパマーは、最初に元のサイトにアクセスし、サイトへのリクエストで設定された Cookie + トークンを使用することで、これを簡単に回避できます
他に何ができるかわかりませんか?JavaScript に関しても、これを防ぐために何ができるでしょうか? Cookie にタイムアウトを割り当てることもできますが、スパマーは元のページにアクセスして、自分自身に Cookie を再割り当てするだけです。
他にできることは、リクエストの割合が平均よりも高い場合にスパマーに CAPTCHA を表示することです。しかし、有効なユーザーにもフラグを立てないものが必要です。はい、ユーザーにアカウントの登録を強制することでこれを修正できますが、実行可能ではありません.
ありがとう!