Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.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
Java 如何避免应用受到XSS攻击?_Java_Jakarta Ee - Fatal编程技术网

Java 如何避免应用受到XSS攻击?

Java 如何避免应用受到XSS攻击?,java,jakarta-ee,Java,Jakarta Ee,如何保护我们的web应用程序免受XSS攻击?如果一个应用程序没有对一个特殊字符进行任何转换,那么它就可以攻击。在将输入输出回用户之前,您应该对任何输入进行HTML转义。一些参考资料: 考虑从 或从中使用 只需添加到WhiteFang34'列表中: 它有几个内置的白名单可供选择,例如允许使用一些HTML、不使用HTML等 我之所以选择它,是因为它处理撇号的方式。即,如果我们的用户输入: 艾伦的妈妈有一个很好的布朗尼食谱 JSoup将不使用撇号,而apachecommons将以如下方式

如何保护我们的web应用程序免受XSS攻击?如果一个应用程序没有对一个特殊字符进行任何转换,那么它就可以攻击。

在将输入输出回用户之前,您应该对任何输入进行HTML转义。一些参考资料:

  • 考虑从
  • 或从中使用

只需添加到WhiteFang34'列表中:

它有几个内置的白名单可供选择,例如允许使用一些HTML、不使用HTML等

我之所以选择它,是因为它处理撇号的方式。即,如果我们的用户输入:

艾伦的妈妈有一个很好的布朗尼食谱

JSoup将不使用撇号,而apachecommons将以如下方式转义该字符串:

艾伦的妈妈有一个很好的布朗尼食谱


在向用户显示之前,我不想担心是否会跳过它。

HTML转义输入效果很好。 但在某些情况下,业务规则可能要求您不要逃避HTML。 使用正则表达式不适合这项任务,使用它很难找到一个好的解决方案

我找到的最佳解决方案是使用:


它使用提供的输入构建DOM树,并过滤白名单先前不允许的任何元素。该API还具有清理html的其他功能。

关于如何在不同情况下防止XSS攻击的精彩文章发布在这里: