|
1
77
不要对正则表达式执行此操作。记住,你不仅仅是在保护有效的HTML;您正在针对web浏览器创建的DOM进行保护。浏览器可以很容易地从无效的HTML生成有效的DOM。 例如,请参见以下列表: obfuscated XSS attacks . 您准备好定制一个正则表达式来防止对 Yahoo and Hotmail 在IE6/7/8上?
本网站未列出的攻击如何?杰夫的方法的问题在于,它并不像所宣称的那样是一个白名单。作为某人 that page 巧妙地指出:
我建议使用专门构建的工具,如 AntiSamy 可配置 白名单。主要区别在于能够优雅地处理格式错误的HTML。 最好的部分是,它实际上对上述站点上的所有XSS攻击进行了单元测试。此外,还有什么比这个API调用更容易的呢
|
|
|
2
7
我从NoScript最佳反XSS插件中提取,下面是它的正则表达式: 完美工作:
测试: http://regex101.com/r/rV7zK8 我认为它阻止了99%的XSS,因为它是NoScript的一部分,NoScript是一个定期更新的插件 |
|
|
3
4
我不相信使用正则表达式是查找所有可疑代码的最佳方法。正则表达式非常容易欺骗,特别是在处理损坏的HTML时。例如,Sanitize HTML链接中列出的正则表达式将无法删除在元素名称和属性“href”之间具有属性的所有“a”元素: <a alt=“xss注入”href=”http://www.malicous.com/bad.php“> 删除恶意代码的一种更为健壮的方法是依靠能够处理各种HTML文档(Tidy、TagSoup等)的XML解析器,并使用XPath表达式选择要删除的元素。一旦HTML文档被解析为DOM文档,就可以轻松安全地找到要revome的元素。使用XSLT甚至很容易做到这一点。 |
|
|
4
3
这将验证字符、数字、空格以及
|
|
|
5
2
|
|
|
6
0
使用jeffs代码的最大问题是@,它目前不可用。 如果需要,我可能会从jeffs代码中获取“raw”regexp并将其粘贴到 http://www.cis.upenn.edu/~matuszek/General/RegexTester/regex-tester.html 看到需要逃跑的东西就逃跑,然后使用它。 考虑到这个正则表达式的使用,我个人会确保在复制/粘贴任何东西之前,我完全理解我在做什么,为什么以及如果我没有成功会有什么后果,就像其他答案一样,我会尝试帮助你。 (对于任何复制/粘贴,这都是非常合理的建议) |
|
|
7
0
将其解析为html并生成新的html可能更好。 |
|
|
8
0
一个旧的线程,但这可能对其他用户有用。php有一个维护的安全层工具: https://github.com/PHPIDS/ 它基于一组正则表达式,您可以在此处找到: https://github.com/PHPIDS/PHPIDS/blob/master/lib/IDS/default_filter.xml |
|
|
9
0
添加(?i)以忽略字母表的大小写。 |
|
|
code-geek · Jquery根据单选按钮选择隐藏或显示文本字段 1 年前 |
|
|
Jamie · 在CSS链接的文件名中添加Jinja占位符 1 年前 |
|
ptownbro · 重叠分区标签,同时保持以下所有分区和内容就位 1 年前 |
|
|
john Rizzo · 按钮背景颜色、悬停和活动状态存在问题 1 年前 |