我刚刚在一个新站点上验证了一个新站点,我使用Rails 3编写了W3C标记验证,并且我收到有关rails生成的CSRF标记的错误。
“元素元素属性名称的错误值csrf-param:未注册关键字csrf-param。”
<meta name="csrf-param" content="authenticity_token"/>
和
“元素元素属性名称的错误值csrf-token:未注册关键字csrf-token。”
<meta name="csrf-token" content="{token}"/>
我将DOCTYPE设置为
<!DOCTYPE html>
据我所知,我不应该添加任何其他内容。有人可以对此有所了解吗?
我正在使用HAML,并想知道这是否是一个因素,所以我设置了一个测试页面,它有一个控制器/动作/视图,只使用Rails默认的erb模板。问题仍然存在。
答案 0 :(得分:2)
你不应该为此担心。 HTML5元标记在使用时相当开放。所有这些验证都表明,根据W3C规范,技术上不是那些“合法”的HTML5元数据名称,但它不会影响功能。以下是元标记的建议扩展列表:
http://wiki.whatwg.org/wiki/MetaExtensions
csrf-token和csrf-param已经在“Proposal”状态的列表中。如果将这些添加到W3C规范中,则不应再看到此验证错误。