Xss 跨站点脚本:如何检查字符串

Xss 跨站点脚本:如何检查字符串,xss,Xss,我有一根绳子。这是某个html标记的某些属性的值。 如何检查此字符串是否包含javascript? 例如(IMG标记的SRC属性): 1.-包含脚本 2. - 包含脚本 3. - 还包含javascript 首先必须规范化,然后检查。但我会看看HtmlPurifier或OWASP AntiSamy。这很难做到,因为有很多奇怪而棘手的方法可以潜入JavaScript 如果您必须首先允许HTML输入,那么它具有相当复杂的解析功能,可以过滤掉所有可能不安全的HTML 但是,一般情况下,您甚至不应该

我有一根绳子。这是某个html标记的某些属性的值。

如何检查此字符串是否包含javascript?

例如(IMG标记的SRC属性):

1.-包含脚本
2. - 包含脚本
3. - 还包含javascript
首先必须规范化,然后检查。但我会看看HtmlPurifier或OWASP AntiSamy。这很难做到,因为有很多奇怪而棘手的方法可以潜入JavaScript

如果您必须首先允许HTML输入,那么它具有相当复杂的解析功能,可以过滤掉所有可能不安全的HTML

但是,一般情况下,您甚至不应该尝试这样做,只需对字符串进行转义即可

在PHP中,即:

echo htmlspecialchars($string);
在JS中,您可以使用
document.createTextNode()
或jQuery的等效
$(el.text()
将文本安全地插入DOM(这两种方法不需要转义)

echo htmlspecialchars($string);