首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XSS PHP日志过滤器?

XSS PHP日志过滤器?
EN

Stack Overflow用户
提问于 2010-02-26 10:21:55
回答 2查看 556关注 0票数 0

我在我的管理面板上有一个日志功能,可以检查用户输入是否正确,如果不正确,则将其写入日志文件。此日志文件在登录时写入管理员。

我正在测试我的网站是否存在漏洞,并设法使用XSS漏洞充分利用了我的服务器。我尝试通过这个函数检查输入来过滤记录的输入:

代码语言:javascript
复制
function isXSS($in){
    return preg_match("[<>(%[0-9a-fA-F]{2}+)]", $in) == 1;
}

但这要么偏执地将所有内容标记为可恶的XSS蠕虫,要么忽略常见的XSS注入。我认为问题出在+量词上,但我听说其他PHP正则表达式也允许这样做。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-02-26 10:25:17

好的老htmlspecialchars有什么问题?我明白为什么你可能想要跟踪潜在的恶意用户,但如果你投入精力去简单地阻止安全漏洞,那么就真的没有必要了。

票数 2
EN

Stack Overflow用户

发布于 2010-02-26 10:27:05

你正在尝试enumerate badness,这是一场你永远不会赢的战斗。相反,您应该只允许通过您知道是好的标记,通过像htmlpurifier这样的库

另外,我不确定{2}+的语法,但我相信这更符合您的需求:

代码语言:javascript
复制
"[<>(%[0-9a-fA-F]{2,})]"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2339106

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档