Spring默认HTMLescape不';无法防止xss攻击
我想在我的spring应用程序中防止xss攻击 我补充说Spring默认HTMLescape不';无法防止xss攻击,spring,xss,Spring,Xss,我想在我的spring应用程序中防止xss攻击 我补充说 <context-param> <param-name>defaultHtmlEscape</param-name> <param-value>true</param-value> </context-param> 我错了什么 附笔。 我在刷新后使用javascript加载内容我的观点有点争议,但我认为您应该验证并拒绝入站XSS
<context-param>
<param-name>defaultHtmlEscape</param-name>
<param-value>true</param-value>
</context-param>
我错了什么
附笔。
我在刷新后使用javascript加载内容我的观点有点争议,但我认为您应该验证并拒绝入站XSS。您也应该在输出时转义它,但它首先不应该在数据库中,因为dbs是持久的,并且常常是跨应用程序的 看 在JSoup中使用Hibernate验证器(您不需要使用Hibernate ORM),以避免数据库中出现XS:
Foo.java
:
@Entity
class Foo {
@SafeHtml(whitelistType = SafeHtml.WhiteListType.NONE)
private String name;
...
}
@Controller
public class FooController {
@RequestMapping(method=POST)
String submit(@Validated Foo foo) {
...
}
}
FooController.java
:
@Entity
class Foo {
@SafeHtml(whitelistType = SafeHtml.WhiteListType.NONE)
private String name;
...
}
@Controller
public class FooController {
@RequestMapping(method=POST)
String submit(@Validated Foo foo) {
...
}
}
pom.xml
:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>5.1.2.Final</version>
</dependency>
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.8.1</version>
</dependency>
org.hibernate
为了获得更多的反XSS措施,我使用JSTL。在jsp页面中包含c前缀
对于要显示的值
在这种情况下,设置属性excapeXml=“true”
是可选的,因为其默认值为true
该属性只会影响弹簧表单标签的使用,而不是通用解决方案。hm。你能提供一些更一般的建议吗?谷歌会给你几种解决方案……我认为默认情况下这是正确的。看看这个答案是否有助于您了解问题所在:这并不能阻止XSS攻击内容在您的数据库中卷起,op的尝试至少可以实现这一点。因此,我认为这是一个不完整且可能误导/危险的答案。