保存多个URL';PHP文本区域中的s导致XSS误报

保存多个URL';PHP文本区域中的s导致XSS误报,php,character-encoding,xss,mod-security,false-positive,Php,Character Encoding,Xss,Mod Security,False Positive,我什么都试过了。我使用自己的php函数sanitizeString()清除字符,并根据自己的喜好清理输入字符串。它有mysqli_real_escape_字符串、preg_replace、str_replace和htmlspecialcharacters。我围绕$\u POST变量调用此函数 $string = sanitizeString( $_POST["user input that could include legit url's"] ); function sanitizeStri

我什么都试过了。我使用自己的php函数sanitizeString()清除字符,并根据自己的喜好清理输入字符串。它有mysqli_real_escape_字符串、preg_replace、str_replace和htmlspecialcharacters。我围绕$\u POST变量调用此函数

$string = sanitizeString( $_POST["user input that could include legit url's"] );

function sanitizeString ($dirtystring)
{
    cleaning code
    return $cleanstring
}
问题是,当我试图保存多个包含在各种变量中的URL时,我在提交时似乎得到了不一致的mod_安全性

$website_url1 = sanitizeString ( $_POST["website1"] );
$website_url2 = sanitizeString ( $_POST["website2"] );
$website_url3 = sanitizeString ( $_POST["website3"] );
或者当有太多的“,[]>等时,我使用enctype=“application/x-www-form-urlencoded”charset=UTF-8

当我把一些真正肮脏的信息,加上撇号,破折号,大于号冒号,感叹号,逗号,和其他人们通常键入的东西,我得到的结果好坏参半。有时表单会求值并删除字符,有时在求值之前我会得到一个mod_安全性

以下是引发modsecurity的示例数据:

==开始数据示例=== 对那就更好了。我绝对愿意和你一起工作。准备好后告诉我,我们可以讨论下一步

谢谢,, t

22/22/22,凌晨2:22,客户x写道: 嗨,谢谢你的好意。我和几位前公司雇员一起工作,所以我知道现在那里的情况很不确定。听到这个消息我真的很难过。我很高兴向你推荐一些好的诸如此类的教练/简历作者。另外,如果您想直接与我合作,我正准备启动我自己的服务。只要让我知道你的偏好,我就能为你指出正确的方向。保重!顾客

22/22/22,凌晨2:22,: 嗨,客户, 现在我的工作正在发生很大的变化,我想为可能出现的新机会做好准备。我正在寻找一位非常优秀的简历作者和职业教练,帮助我明确下一步的职业发展方向。你有没有使用过和/或极力推荐过的人? ...

==数据示例结束===


我想解析信息并转换URL的。它有时会起作用,但在我清理之前,这个简单的示例数据会在提交时抛出modsecurity。

您试图解决的问题是什么?你有正在触发的ModSecurity规则的详细信息吗?我通过在Javascript中使用.replace转义多个字符串修复了这个问题。我的问题是,我试图用运行在服务器上的php进行转义。我需要在JS中转义字符串,然后将其传递给php。