Codeigniter XSS过滤忽略%符号

时间:2019-04-30 13:52:55

标签: php codeigniter security xss urlencode

我的网站上有一个搜索页面(使用CodeIgniter构建),该页面接受URL编码的查询字符串,例如http://somesite.com/search?q=123。我希望参数q的内容显示在搜索页面上。问题是,当我对参数的值调用xss_clean()时(在读取查询字符串或输出查询字符串时),它将所有存在的百分位数字符转换为等效的URL编码字符。例如,代表搜索字符串?q=100%25%20500的{​​{1}}被打印为100% 500,因为CodeIgniter的XSS过滤逻辑似乎将100P0解释为% 50 (忽略空格),它遵循HTML编码规则转换为字符%50。所以我的问题是,我该怎么做才能既允许字符P进行搜索,又对其进行XSS过滤?

这是我的代码片段,如果它有助于更​​好地理解问题:

%

0 个答案:

没有答案