Railsアプリケーションディレクトリのconfig/application_controller.rb
ファイルで、次のコードを見つけました。
class ApplicationController < ActionController::Base
protect_from_forgery
end
project_from_forgery
誰かがそれが何を意味し、なぜ使われているのか教えてもらえますか?
Railsアプリケーションディレクトリのconfig/application_controller.rb
ファイルで、次のコードを見つけました。
class ApplicationController < ActionController::Base
protect_from_forgery
end
project_from_forgery
誰かがそれが何を意味し、なぜ使われているのか教えてもらえますか?
csrfから保護します。たとえば、すべてのPOSTリクエストには特定のセキュリティトークンが必要です。
http://en.wikipedia.org/wiki/Cross-site_request_forgery
http://guides.rubyonrails.org/security.html#cross-site-request-forgery-csrf
これは、csrf攻撃を防ぐための機能が組み込まれたRailsです。
このリンクから詳細をご覧ください、
http://railskey.wordpress.com/2012/07/02/rails-protect_from_forgery/
クロスサイトスクリプティング攻撃は、認証トークンをフォームフィールドに非表示フィールドとして追加することで防止されます。Postリクエストで、トークンがデータベースに保存されているトークンと照合されます。
protect_from_forgery
:クロスサイトリクエストフォージェリ(CSRF)攻撃から保護するRailsの機能。
この機能により、生成されたすべてのフォームに非表示id
フィールドが作成されます。このid
フィールドは保存されているものと一致する必要があります。一致しないid
場合、フォームの送信は受け付けられません。
これにより、他のサイトの悪意のあるフォームやXSSで挿入されたフォームがRailsアプリケーションに送信されるのを防ぎます。