【发布时间】:2016-11-11 09:31:27
【问题描述】:
我目前正在使用 AngularJS 开发 Web 应用程序,我对登录系统有以下疑问:存储用于登录 cookie 的用户名等信息是否安全?
我的意思是,当我登录时,我想将相同的用户名或 ID 存储到 cookie 中,这样每次用户在不同链接之间导航时,我都可以从数据库中加载更多信息。问题是我不知道 Angular 是否对 cookie 版本有任何保护,或者换句话说,我应该相信这个 cookie 的值是正确的吗?
比如有这段代码,安全吗?
var request = {
url: 'backend/getCharacters.php?user=' + $cookies.get('username'),
method: 'GET'
};
$http(request).then(function(response) {
if(response.status == 200)
// Get character list
else
alert('Something went wrong.');
});
【问题讨论】:
-
没有。我会加密一些你可以识别用户的东西,或者生成一个令牌并检查用户的价值和身份。如果您只是将 ID 存储为 cookie,则可以轻松地将其修改为用户想要的任何 ID。
-
IMO 使用 cookie 来查找用户特定数据是不安全的,用户可以轻松修改 cookie,然后您的应用程序将获取其他人的数据。如果我是您,我会在您的服务器上使用密钥向 id 添加一些散列,这样当客户端请求数据时,服务器会解密散列并使用正确的 ID 进行查询。如果他们更改了哈希,那么它在服务器上将是无效的,并且不会返回任何数据
-
检查答案。告诉我它是否有效
标签: angularjs security cookies