我使用spring 4.2.0.RELEASE完全构建了我的Web应用程序。现在在测试期间,我发现该应用程序容易受到XSS和CSRF攻击。我需要知道如何以最小的努力保护它(/现有代码的更改)。
我已经参考了这个spring文档:它说,
从Spring Security 4.0开始,默认情况下启用CSRF保护 XML配置。
所以我认为我需要使用spring security。所以我添加了pom dependancies:
<!-- Spring Security -->
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
<version>${spring.security.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
<version>${spring.security.version}</version>
</dependency>
但是我所有的指南和教程都是指配置Spring安全性要求,登录功能的变化。基本上春天安全负责登录。但我不想改变它,我只需要使用Spring安全性的一些功能。基本上是CSRF令牌和XSS相关的功能,我可以这样做吗?
我添加了pom依赖,就是这样。我还需要做什么?有什么好的参考我无法找到。我正在使用STS进行项目 我已提到this:但它也要求进行弹簧认证。
答案 0 :(得分:0)
首先,您需要将Spring安全性集成到Web应用程序中。它有很多教程。然后你可以像
一样启用<!DOCTYPE html>
<html>
<head>
<title>Matching Game</title>
<style>
img {position:absolute;}
div {position:absolute; width:500px; height:500px;}
#RightSide { left: 500px;
border-left: 1px solid black }
</style>
<script>
var numberOfFaces = 5;
var theLeftSide = document.getElementById("LeftSide");
function generateFaces() {
var count = 0;
while(count <= numberOfFaces){
var imgFace = document.createElement("img");
img.src="http://home.cse.ust.hk/~rossiter/mooc/matching_game/smile.png";
var random_nr = Math.random() * 400;
random_nr = Math.floor(random_nr);
imgFace.style.top = random_nr + "px";
imgFace.style.left = random_nr + "px";
theLeftSide.appendChild(imgFace);
count++;
}
}
</script>
</head>
<body onload="generateFaces()">
<h1>Matching Game</h1>
<p>Click on the extra smiling face on the left</p>
<div id="LeftSide">
</div>
<div id="RightSide">
</div>
</body>
</html>
在春季安全文件http://docs.spring.io/spring-security/site/docs/4.0.x/reference/htmlsingle/#csrf-configure中,指出;
<http>
<!-- ... -->
<csrf disabled="true"/>
</http>