Php 这个函数对于xss检测是否足够?

Php 这个函数对于xss检测是否足够?,php,string,xss,Php,String,Xss,我在“symphony CMS”应用程序中找到了它,它非常小: 我想把它偷出来,用在我自己的应用程序中,用HTML清理字符串以供显示。你认为它做得好吗 ps:我知道有HTML净化器,但那东西很大。我更喜欢不那么放纵的东西,但我还是希望它有效率 我一直在使用此页面中的字符串测试它:。但如果对“XSS定位器2”失败。我不知道如何使用这个字符串来入侵一个网站:)我认为它在测试字符串方面做得很好,至少根据我的测试我可以这么说。不,我不会使用它。有许多不同的攻击都取决于数据插入的上下文。一个单一的功能

我在“symphony CMS”应用程序中找到了它,它非常小:

我想把它偷出来,用在我自己的应用程序中,用HTML清理字符串以供显示。你认为它做得好吗

ps:我知道有HTML净化器,但那东西很大。我更喜欢不那么放纵的东西,但我还是希望它有效率



我一直在使用此页面中的字符串测试它:。但如果对“XSS定位器2”失败。我不知道如何使用这个字符串来入侵一个网站:)

我认为它在测试字符串方面做得很好,至少根据我的测试我可以这么说。

不,我不会使用它。有许多不同的攻击都取决于数据插入的上下文。一个单一的功能无法涵盖所有功能。如果仔细观察,实际上只有四个测试:

// Set the patterns we'll test against
$patterns = array(
    // Match any attribute starting with "on" or xmlns
    '#(<[^>]+[\x00-\x20\"\'\/])(on|xmlns)[^>]*>?#iUu',

    // Match javascript:, livescript:, vbscript: and mocha: protocols
    '!((java|live|vb)script|mocha):(\w)*!iUu',
    '#-moz-binding[\x00-\x20]*:#u',

    // Match style attributes
    '#(<[^>]+[\x00-\x20\"\'\/])style=[^>]*>?#iUu',

    // Match unneeded tags
    '#</*(applet|meta|xml|blink|link|style|script|embed|object|iframe|frame|frameset|ilayer|layer|bgsound|title|base)[^>]*>?#i'
);
//设置要测试的模式
$patterns=数组(
//匹配以“on”或xmlns开头的任何属性
“#”(]+[\x00-\x20\“\'\/])(在| xmlns上)[^>]*>?#iUu”,
//匹配javascript:、livescript:、vbscript:和mocha:协议
“!((java | live | vb)脚本|摩卡):(\w)*!iUu”,
“#-moz绑定[\x00-\x20]*:#u”,
//匹配样式属性
“#”(]+[\x00-\x20\“\'\/])样式=[^>]*>?#iUu',
//匹配不需要的标记
“#]*>?#我
);
没有其他测试。除了这些测试无法检测到的攻击(假阴性),它还可能将某些输入错误地报告为攻击(假阳性)


因此,不要试图检测XSS攻击,只需确保使用适当的清理。

它说:“[…]将确定它是否可能是XSS攻击”。它不会清理它们,这只是为了测试YEEP,这正是我的意思。对不起,有什么困惑。