在登录脚本期间,我使用$.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链接在上面。
有什么建议吗?
发布于 2014-01-18 13:58:52
我来猜猜,因为我从来没有用过jQuery.cookie,但是域名是一样的吗?也许您的Javascript文件与您的脚本位于不同的位置,这使得cookie不可用。
在执行var_dump($_COOKIE['mbr_user_key']);时,您会得到什么
https://stackoverflow.com/questions/21200435
复制相似问题