禁止HTML 标记后,(PHP)markdown 中的主要XSS漏洞似乎是允许这样的链接:
[foo](javascript:alert('xss'))
将变成
<a href="javascript:alert('xss')">foo</a>
同样适用于<img src="">
。
我目前正在网站上开发一个非常基本的Q&amp; A部分,我使用markdown来解决问题和答案。我完全可以肯定地说,此网站上唯一合法使用的链接将是http://
或https://
个链接。
如果我修改了正则表达式markdown用于处理链接并且只允许以字符http
开头的网址,那会阻止XSS攻击吗?
P.S。这不是我当前问题的一部分,但如果某种善意的人向我展示如何修改令人沮丧的复杂正则表达式,我将非常感激。
编辑:我已经阅读了PHP Markdown XSS Sanitizer,我提出这个问题的唯一原因是因为我正在考虑另一种方法。我的问题不是'如何清理降价输出以防止XSS '而是'这种方法会阻止XSS攻击'吗?因此,它不是重复,它是一种替代方案。此外,这个问题得到赞成的事实并不表明至少有一些人想知道同样的事情,即使早先的问题存在吗?