Ruby on rails 如何清理rails中的属性值
在rails中清理属性值的最佳方法是什么?代码如下所示:Ruby on rails 如何清理rails中的属性值,ruby-on-rails,xss,sanitize,html-escape-characters,Ruby On Rails,Xss,Sanitize,Html Escape Characters,在rails中清理属性值的最佳方法是什么?代码如下所示: <img alt="<%= h 'untrusted-data' %>" src="image-source-here" /> 我特别关心并给予支持 将不受信任的数据插入HTML公共属性之前的属性转义 将不受信任的数据插入JavaScript数据值之前的JavaScript转义 html_转义方法是否足以达到此目的?由于某些原因,我无法在此处使用TagHelper提供的tag方法。使用Rails 2.3.5版
<img alt="<%= h 'untrusted-data' %>" src="image-source-here" />
我特别关心并给予支持
TagHelper
提供的tag
方法。使用Rails 2.3.5版本。是的,已经足够好了。(加上另一个“虽然,但我想这是个打字错误:)
h
将防止不受信任的包含“
并将其替换为”
,从而使攻击者无法跳出alt
属性。此外,她也无法利用alt
属性进行攻击,因为该属性中未进行任何解析
例如,如果它位于a
的href
属性中,则情况会有所不同,在这种情况下,攻击者可以在单击时运行某些javascript代码,即使无法退出该属性。(如javascript:alert(/XSSed/);
)请注意,如果在作为事件处理程序的HTML属性中使用不受信任的数据是不够的:是的,这是我试图用href
example.Good解释的那种情况。下面是ruby的HTML属性编码的OWASP实现:哦,这里有一个xss游乐场,有转义示例:for href you have到:a)对放入URL的内容使用URL编码b)确保URL不是以“javascript:”开头的,如果您接受用户的URL-由于编码原因,这很难做到正确,因此最好使用白名单,并确保每个URL都以http://或https://Encoder 在owasp的ruby中。有关html属性,请参见编码。
<img alt="<%=h untrusted %>" src="img.png" />