我正在为所有用户开发安全Cookie,并提供快速验证方法。
这就是我想出的:
当您注册用户时,会为每个用户在数据库中生成一个salt。
当您登录时设置这两个cookie:
$_COOKIE["key"]
和$_COOKIE["user"]
$_COOKIE["user"]
是登录用户的ID。
$_COOKIE["key"]
设置如下:sha1(sha1($id).sha1($salt));
然后验证我创建此功能的cookie:
public function check_cookie(){
//CHECK IF THE COOKIE IS MATCHING THE HASHKEY AND IF USER IS CONTAINING NUMBERS
if(sha1(sha1($_COOKIE["user"]).sha1($salt)) != $_COOKIE["key"] ||
!is_numeric($_COOKIE["user"])){
//REMOVE COOKIES
setcookie('user', null, -1);
setcookie('key', null, -1);
return FALSE;
} else {
return TRUE;
}
}
这是一种安全的方法吗?你看到这种结构有什么错吗?
提前致谢!