5

これを質問しているのは、ajax や flash を使用して Rails と通信し始めると、生活が非常に複雑になると感じているからです。

CSRF から保護するのが良いことはわかっていますが、代わりにリファラーなどをチェックすることはできませんか?

4

1 に答える 1

12

多くのユーザーがリファラーを非アクティブ化しますが、ほとんどの場合、選択によるものではありません。
しかし、彼らはそれをブロックしているファイアウォールの背後にいるため.

Protect from forgery を使用することが、CSRF から保護する唯一のソリューションです。
ただし、任意のアクションを無効にすることができます。

コントローラーで、次を追加します。

skip_before_filter :verify_authenticity_token, :only => :create

これにより、フィルターを追加したコントローラーの作成アクションのトークン検証が無効になります。

于 2009-11-25T14:52:39.700 に答える