最近、自分のサイトのcsrf保護ライブラリを作成しています。CSRFトークン - 2つの要求=失敗?
$ _SESSIONで生成されていないリクエストに対してランダムトークンを生成します。私のサイトで
:
- ユーザーが自分のサイト(example.com)とログインに行くしかし、このシナリオを考える -
すべてがテストされ、罰金、うまく動作します。
- 今度は別の悪意のあるサイトを開きます。
悪質なサイトになりました(JavaScriptで)行いますhttp://example.com FIRST
- RUN ...とJavaScript(正規表現または何でも)の形で、HTML内のCSRFトークンを取得して - と言うその "randomToken" 。 JavaScriptで
- - 今これは明らかにだけ取得していない、あまりにもポストで行うことができhttp://example.com/my-profile/?deletemyaccount=1&token=randomToken
をフェッチします。
私はHTTP_REFERERのチェックを考えましたが、それは信頼できません。
これを防ぐにはどうすればよいですか?これは本当に可能ですか?私の考えでは、この種の攻撃はjQueryで簡単に行うべきです。
AJAXを使用すると非常に可能です。リファラーは、AJAXリクエストですべてのヘッダーが操作される可能性があるため、どちらも役に立ちません。私はあなたがこの幸運を忘れていると思います。代わりにCAPTCHAを使用してみてください。 – Kenaniah