保护前端和后端之间通信的最佳方法

时间:2016-04-07 14:01:35

标签: security

对于一个学校项目,我和我的项目组正在从应用程序的后端拆分前端。现在我想确保正确找出此应用程序的安全性,因为它将被公开使用。

我已经在研究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();
}

我想知道这是否足够安全以及使通信更安全的方法

1 个答案:

答案 0 :(得分:1)

“安全的前后通信”一词包含很多内容,并且使用HTTPS来解决的只是加密,而缺少卫生,身份验证,序列化等。

  • 加密:HTTPS只是Web应用程序开发人员的项目之一 如果安全是一个问题,应该发出。它加密通讯 在HTTP客户端和服务器之间(不包括首次握手)。一种 SSL证书将按照您所说的进行处理。
  • CSRF:在您的情况下,servlet过滤器 应该实施以防止它。基本上,它涉及添加 来自客户端的所有请求的附加标头(X-CSRF)。对于泽西岛 实施检查CsrfProtectionFilter

  • 输入卫生:从表单输入中删除不需要的字符,或者 请求可能会使服务器误解的值导致 不必要的行为。在您的情况下,可以在 validateLogin功能。

小加号:OWASP top 10列出了最常见的Web应用程序攻击媒介,请检查一下!

相关问题