首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Chrome中,Rails 4重定向到“data:,”

在Chrome中,Rails 4重定向到“data:,”
EN

Stack Overflow用户
提问于 2013-10-01 08:33:36
回答 2查看 1.5K关注 0票数 18

在Google Chrome中有一个奇怪的行为,在这个问题中也有描述:rails redirects to 'data:,'

当创建一个新的资源并且我的控制器重定向到显示动作时,chrome在地址栏中使用 'data:,' 启动一个空白页面的加载。提出上述问题的作者的答复如下:

这是一项安全功能,新页面的HTML内容与已提交表单的HTML内容相匹配,Chrome会将其阻止。

然而,没有解释如何修复它。该行为仅在Chrome浏览器中存在。

EN

回答 2

Stack Overflow用户

发布于 2014-01-25 03:45:17

我用谷歌搜索了一下,发现在Rails4.0中编辑带有iframe的帖子会导致重定向到"data:,“

Chrome 4现在为所有请求设置了X-

- protection头,所以在表单提交后,iframe会触发XSS保护。(https://github.com/elektronaut/sugar/issues/41#issuecomment-25987368)

解决方案,将其添加到您的控制器:

代码语言:javascript
复制
before_filter :disable_xss_protection

protected
def disable_xss_protection
  # Disabling this is probably not a good idea,
  # but the header causes Chrome to choke when being
  # redirected back after a submit and the page contains an iframe.
  response.headers['X-XSS-Protection'] = "0"
end
票数 10
EN

Stack Overflow用户

发布于 2014-01-23 14:20:03

好吧,我想我知道这是什么了。你可以在data: protocol中指定图片和文本,我相信Chrome看到的是转义的HTML,并认为它就是数据。由于未指定mime类型,因此它将冒号后面的mime类型保留为空,并仅打印逗号。

http://guides.rubyonrails.org/security.html#redirection

Rails 4自动转义HTML,因此如果您试图呈现HTML,则必须指明不转义它。查看渲染选项:

http://guides.rubyonrails.org/security.html#redirection

您可以使用raw()直接呈现HTML。

http://www.webbydude.com/posts/9-the-h-helper-in-rails-3

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19106111

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档