【发布时间】:2015-12-22 17:53:04
【问题描述】:
我有一个值,最终将是一个 html id= 属性。我无法控制值的设置,因此它可能不安全。我知道检查单引号和双引号,但我应该检查以确保它干净吗?
variables.result &= '<div class="alert alert-danger"';
if(attributes.id != "") variables.result &= ' id="#attributes.id#"';
【问题讨论】:
-
搜索转义 html(属性)。那么不管它是什么.. 但是攻击者仍然可以隐藏 id。
-
不确定我是否明白你想要什么,但我的猜测是:
' id="#encodeForHtmlAttribute(attributes.id)#"' -
这也适用于风格和类吗?
-
不要担心要过滤掉什么,而是决定你想要允许什么,并使用正则表达式来限制这些字符的输入。
-
@JamesAMohler 是的,它会转义所有会“离开”标签属性的字符。但请记住,这是为了清理输入,而不是验证。人们仍然可以提交无效的 id 和类(包含规范不允许的坏字符)。这不会是安全问题,但这些值将毫无用处。
标签: coldfusion sanitization coldfusion-11