アドビでは、Apache Sling Referrer Filter 以外にも、この種の攻撃を防ぐための新しい CSRF 対策フレームワークを用意しています。
このフレームワークでは、トークンを利用して、クライアントの要求が正当なものであることを保証します。トークンは、フォームがクライアントに送信されるときに生成され、フォームがサーバーに返されるときに検証されます。
パブリッシュインスタンスでは、匿名ユーザーのトークンはありません。
granite.jquery
依存関係を信頼する任意のコンポーネント は、CSRF 保護フレームワークのメリットを自動的に受けます。どのコンポーネントにも当てはまらない場合、このフレームワークを使用するには granite.csrf.standalone
への依存関係を宣言する必要があります。
トークンを利用するには、デプロイメント内のすべてのインスタンスに HMAC バイナリをレプリケーションする必要があります。詳しくは、HMAC キーのレプリケーションを参照してください。
CSRF 対策フレームワークを使用するには、必要なディスパッチャー設定の変更を行ってください。
Web アプリケーションでマニフェストキャッシュを使用する場合、トークンがオフラインで CSRF トークンの生成を呼び出さないように、「*」をマニフェストに追加してください。詳しくは、こちらのリンクを参照してください。
CSRF 攻撃とその対策について詳しくは、クロスサイトリクエストフォージェリに関する OWASP のページを参照してください。