Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 清理用户输入以防止XSS_Javascript_Jquery_Xss - Fatal编程技术网

Javascript 清理用户输入以防止XSS

Javascript 清理用户输入以防止XSS,javascript,jquery,xss,Javascript,Jquery,Xss,我开发的一个内部web应用程序将很快进行笔试。它使用Windows身份验证 它有很多AJAX。我最近读到了关于跨站点脚本的内容: 这篇文章讨论了如何清理用户输入。在JavaScript/Jquery中是否有这样一个函数 例如,如果用户输入:alert('xss'),那么我如何对其进行消毒?为了防止SQL注入攻击,可以使用.NET中内置的命令参数 我可以自己替换不合适的标签,但是我只是想确保没有一个内置的方法来首先完成这项工作。我花了一些时间在谷歌上搜索,但我还没有找到我具体问题的答案 始终将用户

我开发的一个内部web应用程序将很快进行笔试。它使用Windows身份验证

它有很多AJAX。我最近读到了关于跨站点脚本的内容:

这篇文章讨论了如何清理用户输入。在JavaScript/Jquery中是否有这样一个函数

例如,如果用户输入:
alert('xss'),那么我如何对其进行消毒?为了防止SQL注入攻击,可以使用.NET中内置的命令参数


我可以自己替换不合适的标签,但是我只是想确保没有一个内置的方法来首先完成这项工作。我花了一些时间在谷歌上搜索,但我还没有找到我具体问题的答案

始终将用户输入视为文本,而不是HTML

因此,如果要在div中显示用户输入,可以执行以下操作:

$("#mydiv").text(userInput);
这将自动“清理”输入(实际上并非如此,请参见下文),您将看到输入HTML为文本,而不是作为HTML注入。当然,如果您使用.html(),那么它将按原样转储


实际上,您(或者更确切地说,jquery是)给浏览器一个明确的指令,将某个内容作为文本而不是HTML来处理,这样它就不会首先尝试解析它,与尝试清理它将要解析的内容相比,这始终是更安全的选择。

看看OWASP的建议: