OWASAPメカニズムを使用してレガシーアプリケーションフォームCSRFを保護しようとしましたが、ナビゲーションと戻るボタンに問題があります。私はstruts-1トークンメカニズムを使ってみましたが、同じ問題に直面しました。私がトークン注入機構で考える問題は、最初はjspでトークンを生成し、それをセッションに格納して何らかのアクションを実行することです。ブラウザ戻るボタンCSRF防止機構の問題
A.jspを検討してください。 jspのトークン値1を取ることができ、セッションに同じ値を格納します。 これでフィルタ/アクションクラスで検証されます。 その後、私たちはB.jspでいくつかの操作を行い、jspとセッションで新しいトークン2をトークンにします。検証フォームサーバーの後に、セッションで値2を持ちます。 ブラウザの戻るボタンを使用してページ1に移動して送信すると、キャッシュから値がロードされ、A.jspの値がトークン1の になります。この時点でA.jspを送信すると、セッションの値と矛盾するCSRFエラー。
実際にアプリケーションを妨害することなくCSRF防止メカニズムを実装する方法はありますか?
私は応答ヘッダーを使用して実装しようとしました。フローを破っているので役に立たなかった。従来のアプリにSPAを実装するには、十分な時間が必要です。今は持っていません。実際に機能を損なうことなく、CSRFからWebアプリケーションを保護する他の方法はありますか? – Girish
CSRFからあなたのサイトを保護するセキュリティトークンの方法は他にありません。トークンは一回限りではなく、合理的な時間内にトークンを発行することができます。 –
Actionクラスのカスタムヘッダーを設定するカスタムヘッダーを使用してリファラーヘッダーやその他のメソッドをチェックするのはどれだけ良いですか?jspに渡した後、同じ値をjavascriptを使用して設定し、同じ。このCookie-to-Header Tokenメソッドはどれくらい安全ですか? – Girish