在哪些浏览器上运行Rails 3 XSRF保护?

时间:2011-01-17 09:46:46

标签: ruby-on-rails ruby html5 csrf

Rails 3中的link_to方法有一个很好的XSRF保护,可以生成一些自定义的HTML5标记,一个哈希安全密钥,以及一堆JavaScript,它可以使用更安全的PUT / DELETE / POST方法而不是HTTP GET发送请求。太好了。

但我对哪些浏览器的工作有疑问?我的意思是当禁用JavaScript时它绝对不起作用。但浏览器需要是HTML5吗? AFAIK有许多浏览器可以实现HTML5的某些部分,因为这种技术只需要一个自定义的HTML标记,它可以用于旧版本。

是否有任何类型的文档描述了这种兼容性?我感兴趣的是:

  • 铬/ Safari浏览器
  • 火狐
  • MSIE

由于

1 个答案:

答案 0 :(得分:1)

如果您希望链接为POST / PUT / DELETE,则链接仅包含该特殊HTML5数据。常规链接只能是GET。 JavaScript依赖性是因为这一点,而不是因为XSRF解决方案。

自定义HTML5属性(不是标签)只是名为“data -...”的属性。浏览器确实在HTML5之前接受自定义属性,但现在有一种方法可以添加自定义属性而不会危及HTML5的有效性。

因此,对于您提供的浏览器列表:所有工作,直到IE6(除非您禁用JavaScript)。