Rails CSRF対策について
CSRFとは
Cross Site Request Forgeryのことで、
Webアプリに知らない間にリクエストが送られる不正攻撃のことです
例えばインスタで知らない間に自分の投稿を消されていたりしたら
CSRFです。
CSRF対策の設定
application_controller.rbに下のような記述をすると、
Can't verify CSRF token authenticity
というエラーが出てきます。このエラーが出たらCSRFのエラーで
Railsがちゃんとしたリクエストがいっているかどうかを CSRF Tokenというもので
確認するのですがそれが確認できないというエラーです。
class ApplicationController < ActionController::Base
protect_from_forgery with: :exception
end
解決策
application_controller.rbに下のような記述をします。
class ApplicationController < ActionController::Base
protect_from_forgery with: null_session
end
これは公開する時にはあまり役に立たないです。CSRF対策をOFFにしてしまう
からです。
他にも
class ApplicationController < ActionController::Base
skip_before_action :verify_authenticity_token
end
このような方法もあるみたいです。 CSRF 対策を放棄する時に使います。
最後に
上のやり方はあくまでエラーを解決するための方法です。
アプリを公開したりする場合は、CSRF Tokenの設定が必要になります。
下の参考資料に載っているので調べてみてください。
Author And Source
この問題について(Rails CSRF対策について), 我々は、より多くの情報をここで見つけました https://qiita.com/Hashimoto-Noriaki/items/ef5ac7d27120d0a157e8著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .