前回の続きで、「request_forgery_protection」の問題点について。 GETリクエストをスルーしているため根本的にCSRF対策になっていない 宣言したアクションだけにしか適用されないので開発者の宣言漏れの可能性がつきまとう FORMタグを使う部分は問題ないが、JavaScriptでAJAXリクエストを発行する時は自前でトークンを付け加えてあげないといけない 2に関しては、所謂ブラックリスト方式かホワイトリスト方式かといった問題。 FWとして「CSRF対策済」と謳う以上はホワイトリスト形式にすべきなのではないかと思う。 3は結構ネット上でも対応方法を記載されている方がちらほら見受けられる。 具体的にどのような場面で問題になるかというと、 JavaScriptで直接 new Ajax.Updater() や new Ajax.Requext()を実行 InPlaceEdit