阻止XSS的Javascript

时间:2010-07-14 01:23:47

标签: javascript xss

有没有办法可以通过Javascript自动格式化输入框,在用户尝试点击提交按钮之前阻止XSS?

例如,在用户在文本框上键入脚本攻击后,javascript会自动将文本框中的值格式化为安全格式。

不过,我不仅仅依靠这个程序来阻止XSS,它只是我们的客户群有短语触发ASP.Net将其视为XSS。这是确切的例子:

短语: OMY G<W TUBE/OVARY 会触发页面将其视为XSS,而 OMY G< W TUBE/OVARY 不会被视为潜在风险。< / p>

2 个答案:

答案 0 :(得分:3)

不,没有。

只能在服务器时阻止XSS,方法是格式化将要显示的给定上下文的不受信任数据。

答案 1 :(得分:2)

并不难,假设您可以确切地知道是什么触发了ASP.Net XSS过滤器。例如,这将修复您显示的案例:

<form id="form" onsubmit="fix()">
    <input id="textbox" />
    <input type="submit" />
</form>
<script>
    function fix() {
        var t = document.getElementById('textbox');
        t.value = t.value.replace(/<(\w)/, '< $1');
    }
</script>

请理解,此“解决方案”不会以任何方式阻止XSS攻击,或以任何方式验证输入。只能在服务器端阻止XSS攻击。

相关问题