对于一个学校项目,我和我的项目组正在从应用程序的后端拆分前端。现在我想确保正确找出此应用程序的安全性,因为它将被公开使用。
我已经在研究SSL证书,但我希望尽可能保证安全。
至于现在,我已经创建了登录页面,如下所示:
前端是基本的html,带有angularjs的javascript,一旦用户填写了他们的用户名和密码并按下登录,我通过帖子将数据发送到我的后端
$scope.sendPost = function() {
var jsontext = JSON.stringify({
username: $scope.username,
password: $scope.password
});
$http.post("http://localhost:8080/login", jsontext).success(function(data, status) {
$scope.user = data;
})
}
在后端我有一个使用jersey设置的servlet来处理它并发回所需的用户数据
@POST
@Path("login")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public String validateLogin(Request request) throws JSONException{
JSONObject json = new JSONObject();
// validate user blabla
return json.toString();
}
我想知道这是否足够安全以及使通信更安全的方法
答案 0 :(得分:1)
“安全的前后通信”一词包含很多内容,并且使用HTTPS
来解决的只是加密,而缺少卫生,身份验证,序列化等。
HTTPS
只是Web应用程序开发人员的项目之一
如果安全是一个问题,应该发出。它加密通讯
在HTTP客户端和服务器之间(不包括首次握手)。一种
SSL证书将按照您所说的进行处理。 CSRF:在您的情况下,servlet过滤器
应该实施以防止它。基本上,它涉及添加
来自客户端的所有请求的附加标头(X-CSRF
)。对于泽西岛
实施检查CsrfProtectionFilter
输入卫生:从表单输入中删除不需要的字符,或者
请求可能会使服务器误解的值导致
不必要的行为。在您的情况下,可以在
validateLogin
功能。
小加号:OWASP top 10列出了最常见的Web应用程序攻击媒介,请检查一下!