background:url("javascript:...") 不再起作用了?

background:url("javascript:...") doesn't work anymore?

作为前端工程师,我正在研究XSS预防。

根据 OWASP document,应从用户输入中过滤以下代码。但是当我在我的 chrome 和 safari 浏览器中测试它时,它似乎不起作用。

<STYLE type="text/css">BODY{background:url("javascript:alert('XSS')")}</STYLE>

现在的浏览器禁止这样做吗?

我认为这是旧版 Internet Explorer(第 6 版 IIRC)中的一个攻击媒介。

如果您的任何用户仍在使用旧浏览器,或者浏览器供应商出于任何原因重新引入此功能,最好还是禁止此操作。

found a reference for this here:

In IE 6, javascript pseudo scheme executes in any URI.

<input style="background: url(javascript:alert(1))">