Rails мета-теги CSRF по умолчанию не проверяются - PullRequest
1 голос
/ 13 июня 2011

Я только что проверил новый сайт, новый сайт, который я написал с использованием Rails 3 с проверкой разметки W3C, и я получаю ошибки о тегах CSRF, которые генерирует rails.

«Неверное значение csrf-param для имени атрибута в элементе meta: ключевое слово csrf-param не зарегистрировано.»

<meta name="csrf-param" content="authenticity_token"/>

AND

«Неверное значение csrf-tokenдля имени атрибута в элементе meta: ключевое слово csrf-token не зарегистрировано. "

<meta name="csrf-token" content="{token}"/>

У меня установлен DOCTYPE на

<!DOCTYPE html>

Насколько я знал, яне нужно ничего добавлять.Кто-нибудь может пролить свет на это, пожалуйста?

РЕДАКТИРОВАТЬ

Я использую HAML, и мне стало интересно, может ли это быть фактором, поэтому я настроил тестовую страницу с одним контроллером / действием / представлением, в которой используется только значение по умолчанию Railsшаблоны.Проблема по-прежнему возникает.

http://validator.w3.org/check?uri=http%3A%2F%2Fcsrftestsite.heroku.com%2Fhome&charset=%28detect+automatically%29&doctype=Inline&group=0&user-agent=W3C_Validator%2F1.2

1 Ответ

2 голосов
/ 14 июня 2011

Тебе не стоит об этом беспокоиться. Метатег HTML5 довольно открыт с его использованием. Все эти проверки говорят о том, что это технически не являются «законными» именами метаданных HTML5 в соответствии со спецификацией W3C, но это не повлияет на функциональность. Вот список предлагаемых расширений для метатега:

http://wiki.whatwg.org/wiki/MetaExtensions

csrf-token и csrf-param уже находятся в списке в статусе «Предложение». Если они будут добавлены в спецификацию W3C, вы больше не увидите эту ошибку проверки.

...