htmlspecialchars()
是一种防止XSS
HTML
元素属性htmlspecialchars()
攻击风险的万无一失的方法吗?
例如,在此输入元素中,使用<input type="text" value="<?php echo htmlspecialchars($dangerousString, ENT_QUOTES, 'UTF-8'); ?>"
编码引号也能确保完全安全吗?
从逻辑上讲,它会阻止任何字符串突破value属性的上下文;或者还有更多可以做的事情吗?
{{1}}
答案 0 :(得分:1)
假设您正在使用现代版本的php,htmlspecialchars
应该可以解决问题。
值得注意的是,您还必须通过标头和元标记为整个页面提供相同的编码(utf8
)。否则,您需要UTF-7 injection。
另请注意,htmlspecialchars
仅适用于value
这样不能解释javascript的属性。 <{1}}和朋友 。