2014-02-04 1 views
0

Я следую рельсы руководство по началу работы здесь: http://guides.rubyonrails.org/getting_started.htmlСледуя Рельсы руководство по началу работы и получить ActionController :: InvalidAuthenticityToken

Я на шаге «Создание сообщения», где я настроить мой новый вид чтобы отправить сообщение моему контроллеру. При нажатии на кнопку отправить в представлении я получаю ActionController ошибки :: InvalidAuthenticityToken

я смог пройти ошибку, комментируя эту строку в ApplicationController

protect_from_forgery with: :exception 

Однако я не конечно, если я должен это делать. Является ли это прекрасным или я должен углубляться в проблему? Что делает эта линия?

Содержание: /views/layouts/application.html.erb

<!DOCTYPE html> 
<html> 
<head> 
    <title>Budget</title> 
    <%= stylesheet_link_tag "application", media: "all", "data-turbolinks-track" => true %> 
    <%= javascript_include_tag "application", "data-turbolinks-track" => true %> 
    <%= csrf_meta_tags %> 
</head> 
<body> 

<%= yield %> 

</body> 
</html> 
+0

Вы удалили объявление '<% = csrf_meta_tags%>' из вашего файла макета? – sevenseacat

+0

Нет. Я вообще не модифицировал файл макета, я обновил исходное сообщение с содержимым /views/layouts/application.html.erb. Я просто последовал руководству по началу работы, вместо создания контроллера сообщений я создал контроллер покупок, а вместо нового блогов rails я использовал рельсы нового бюджета – user2246986

ответ

1

Нет, вы не должны комментировать эту строку в ApplicationController. Он предназначен для обеспечения безопасности вашего приложения на уровне производства.

От docs: Включите запрос на подделку. Имейте в виду, что проверяются только запросы, отличные от GET, HTML/JavaScript.

protect_from_forgery - это функция в Rails, которая защищает от атак Cross-site Request Forgery (CSRF). Эта функция делает все сгенерированные формы скрытым полем идентификатора. Это поле id должно совпадать с сохраненным идентификатором, или отправка формы не принимается. Это предотвращает появление вредоносных форм на других сайтах или формах, вставленных с XSS из представления в приложение Rails. Бесстыдно скопировано с here.

И, наконец, но не в последнюю очередь. Вот the link, объясняющий, почему кросс-сайт запрос подделку (CSRF) следует воспринимать всерьез и почему это важно.

 Смежные вопросы

  • Нет связанных вопросов^_^