Javascript 清理用户输入以防止XSS
我开发的一个内部web应用程序将很快进行笔试。它使用Windows身份验证 它有很多AJAX。我最近读到了关于跨站点脚本的内容: 这篇文章讨论了如何清理用户输入。在JavaScript/Jquery中是否有这样一个函数 例如,如果用户输入:Javascript 清理用户输入以防止XSS,javascript,jquery,xss,Javascript,Jquery,Xss,我开发的一个内部web应用程序将很快进行笔试。它使用Windows身份验证 它有很多AJAX。我最近读到了关于跨站点脚本的内容: 这篇文章讨论了如何清理用户输入。在JavaScript/Jquery中是否有这样一个函数 例如,如果用户输入:alert('xss'),那么我如何对其进行消毒?为了防止SQL注入攻击,可以使用.NET中内置的命令参数 我可以自己替换不合适的标签,但是我只是想确保没有一个内置的方法来首先完成这项工作。我花了一些时间在谷歌上搜索,但我还没有找到我具体问题的答案 始终将用户
alert('xss')代码>,那么我如何对其进行消毒?为了防止SQL注入攻击,可以使用.NET中内置的命令参数
我可以自己替换不合适的标签,但是我只是想确保没有一个内置的方法来首先完成这项工作。我花了一些时间在谷歌上搜索,但我还没有找到我具体问题的答案 始终将用户输入视为文本,而不是HTML
因此,如果要在div中显示用户输入,可以执行以下操作:
$("#mydiv").text(userInput);
这将自动“清理”输入(实际上并非如此,请参见下文),您将看到输入HTML为文本,而不是作为HTML注入。当然,如果您使用.html(),那么它将按原样转储
实际上,您(或者更确切地说,jquery是)给浏览器一个明确的指令,将某个内容作为文本而不是HTML来处理,这样它就不会首先尝试解析它,与尝试清理它将要解析的内容相比,这始终是更安全的选择。看看OWASP的建议: