19

Railsアプリケーションディレクトリのconfig/application_controller.rbファイルで、次のコードを見つけました。

class ApplicationController < ActionController::Base
  protect_from_forgery
end

project_from_forgery誰かがそれが何を意味し、なぜ使われているのか教えてもらえますか?

4

3 に答える 3

10

csrfから保護します。たとえば、すべてのPOSTリクエストには特定のセキュリティトークンが必要です。

http://en.wikipedia.org/wiki/Cross-site_request_forgery

http://guides.rubyonrails.org/security.html#cross-site-request-forgery-csrf

于 2012-12-13T11:36:52.727 に答える
2

これは、csrf攻撃を防ぐための機能が組み込まれたRailsです。

このリンクから詳細をご覧ください、

http://railskey.wordpress.com/2012/07/02/rails-protect_from_forgery/

クロスサイトスクリプティング攻撃は、認証トークンをフォームフィールドに非表示フィールドとして追加することで防止されます。Postリクエストで、トークンがデータベースに保存されているトークンと照合されます。

于 2012-12-13T11:36:19.887 に答える
-1

protect_from_forgery:クロスサイトリクエストフォージェリ(CSRF)攻撃から保護するRailsの機能。

この機能により、生成されたすべてのフォームに非表示idフィールドが作成されます。このidフィールドは保存されているものと一致する必要があります。一致しないid場合、フォームの送信は受け付けられません。

これにより、他のサイトの悪意のあるフォームやXSSで挿入されたフォームがRailsアプリケーションに送信されるのを防ぎます。

于 2013-12-17T10:46:54.310 に答える