在登录脚本中,我使用$ .cookie()jquery插件创建一个cookie。我这样设置了cookie:
$.cookie('mbr_user_key', details, { expires: 365, path: '/' });
details
,并且cookie设置得很好,这使得它的有效期为1年。
我已经使用PHP创建了一个脚本,该脚本使用存储的cookie来获取最后登录的IP地址(在用户登录时存储)并根据当前IP地址进行检查。如果它发现两个IP地址不同,则应该要求用户再次登录。
根据当前IP地址检查数据库中的IP地址的脚本运行正常,唯一的障碍就是在它们不匹配时删除cookie。
我当然希望在PHP中这样做。这是脚本:
if($user_ip == $user_ip_db && $user_proxy == $user_proxy_db){
$access = "allow";
} else {
unset($_COOKIE['mbr_user_key']);
setcookie('mbr_user_key', '', time() - 3600, '/');
$access = "deny";
}
但这不起作用。
这有效......(但我觉得这很脏)
if($user_ip == $user_ip_db && $user_proxy == $user_proxy_db){
$access = "allow";
} else {
?><script>$.removeCookie('mbr_user_key');</script><?PHP
$access = "deny";
}
无论哪种方式,尝试删除cookie的这个脚本都在头脑中运行,这基本上是第一件事。它上面没有回声,只有样式表和javascripts链接在它上面。
有什么建议吗?
答案 0 :(得分:0)
要猜测,因为我从未使用过jQuery.cookie,但域名是否相同?也许您的Javascript文件位于与脚本不同的位置,这使得cookie无法使用。
当你var_dump($_COOKIE['mbr_user_key']);
时,你会得到什么?