我正在使用我制作的这个功能,虽然可能不是原创的,并且想知道这是否适合过滤基于网址的XSS攻击。这是
function clean($url) {
return strip_tags(html_entity_decode(urldecode($url), null, 'UTF-8'), ENT_QUOTES);
}
如果没有正确方向上的一点会很好
答案 0 :(得分:2)
我建议你选择一个着名的框架(稳定版),如Codeigniter,Kohana,Yii,Zend,并浏览它的源代码。他们中的大多数提供了您可以适应的辅助功能。通过这种方式,您可以使用“社区编辑”的内容,该内容始终与大多数安全威胁保持同步。
答案 1 :(得分:1)
我建议查看OWASP's ESAPI Project。他们创建了一个编码库,它有多种语言,包括Java,.NET,PHP,Classic ASP,Cold Fusion,Python和Haskell。它具有为您正在处理的上下文编码不受信任数据的工具:
它也适合输入验证。 一些使用ESAPI的组织包括American Express,Apache Foundation,Booz Allen Hamilton,Aspect Security,Foundstone(迈克菲),哈特福德,无限校园,洛克希德马丁,MITER,美国海军 - SPAWAR,世界银行,SANS研究所。
我还建议给他们的XSS Prevention Cheat Sheet一个阅读,其中描述了构建防御XSS的最佳实践(它实质上归结为你必须使用转义语法来放置你正在放置的HTML文档部分不可信的数据。)。