Javascript 我应该加密哪些数据来创建安全的ajax调用?

Javascript 我应该加密哪些数据来创建安全的ajax调用?,javascript,jquery,ajax,security,encryption,Javascript,Jquery,Ajax,Security,Encryption,我正在创建一个使用大量ajax调用的web应用程序。应用程序将保存用户的个人数据。在ajax调用中使用的变量有Id、profile\u Id、message\u Id等。。完成向配置文件添加帖子、获取连接等操作 我想让通话尽可能安全。我已经在$.post调用中实现了crsf。我必须/应该加密哪些种类的ajax调用,哪些不需要加密 ajax调用示例(简化): 不要考虑对单个数据位进行加密。如果安全性很重要,请跨HTTPS运行整个事务。不要考虑对单个数据位进行加密。如果安全性很重要,请跨HTTPS运

我正在创建一个使用大量ajax调用的web应用程序。应用程序将保存用户的个人数据。在ajax调用中使用的变量有Id、profile\u Id、message\u Id等。。完成向配置文件添加帖子、获取连接等操作

我想让通话尽可能安全。我已经在
$.post
调用中实现了
crsf
。我必须/应该加密哪些种类的ajax调用,哪些不需要加密

ajax调用示例(简化):



不要考虑对单个数据位进行加密。如果安全性很重要,请跨HTTPS运行整个事务。

不要考虑对单个数据位进行加密。如果安全性很重要,请跨HTTPS运行整个事务。

无法保护您的数据。用JavaScript编写的任何东西都可以很容易地反转。@RobW-可以在JS中实现公钥加密,没有私钥是不可逆的,但有太多其他攻击向量,这样做不会很有用。您是通过HTTP或HTTPS连接到主机的吗?如果您使用HTTPS,那么我认为您不需要任何其他形式的加密。HTTPS应该是好的,因为它是。如果您只使用HTTP,那么可能首先尝试切换到HTTPS?这将为您提供比任何其他形式的自定义加密更多的功能。您当前是否加密以常规HTML形式发送的数据?csrf_密钥不是用于数据加密,而是用于跨站点请求伪造保护无法保护您的数据。用JavaScript编写的任何东西都可以很容易地反转。@RobW-可以在JS中实现公钥加密,没有私钥是不可逆的,但有太多其他攻击向量,这样做不会很有用。您是通过HTTP或HTTPS连接到主机的吗?如果您使用HTTPS,那么我认为您不需要任何其他形式的加密。HTTPS应该是好的,因为它是。如果您只使用HTTP,那么可能首先尝试切换到HTTPS?这将为您提供比任何其他形式的自定义加密更多的功能。您当前是否加密以常规HTML形式发送的数据?csrf_密钥不是用于数据加密,而是用于跨站点请求伪造保护应用程序将采用Https。https是客户端和主机之间的单一安全连接,但“邪恶”用户仍然可以更改呼叫的id,以检索或将数据放入db,对吗?@Sven-您说过您担心保护用户的个人数据。这是他们的数据,所以你不需要保护他们。@Sven-如果你想阻止用户访问其他用户的数据,那么加密不是解决方案。您需要身份验证+授权。他们要求什么并不重要,只是不要给他们不允许他们看到的数据。Thx昆汀!我将在ajax调用的请求页面上删除加密并实现身份验证和授权。用户的id在登录后保存在会话中,因此我可以使用该id检查是否允许用户执行请求。不要删除加密。保护用户数据不被HTTP截获也很重要!保持HTTPS打开。应用程序将使用HTTPS。https是客户端和主机之间的单一安全连接,但“邪恶”用户仍然可以更改呼叫的id,以检索或将数据放入db,对吗?@Sven-您说过您担心保护用户的个人数据。这是他们的数据,所以你不需要保护他们。@Sven-如果你想阻止用户访问其他用户的数据,那么加密不是解决方案。您需要身份验证+授权。他们要求什么并不重要,只是不要给他们不允许他们看到的数据。Thx昆汀!我将在ajax调用的请求页面上删除加密并实现身份验证和授权。用户的id在登录后保存在会话中,因此我可以使用该id检查是否允许用户执行请求。不要删除加密。保护用户数据不被HTTP截获也很重要!保持HTTPS处于打开状态。
function post_msg(profile_id, msg) {
        var json_data = new Object(); 

        json_data.profile_id = profile_id;
        json_data.msg = msg;

        var data_str = JSON.stringify(json_data);

        $.post("/ajax/get_posts", { data: data_str, csrf_key: "950egg22b771xxxxxxxxxxxxxxxx1a"}, func_that_does_something_with_ret_data);
}

//Some where else in the front-end
$('#button').click(function() {
    var msg = $('#input').value();

    post_msg(1, msg); //should I encrypt the id?
});