ホームページ >バックエンド開発 >PHPチュートリアル >微信内置浏览器中的cookie很诡异呀

微信内置浏览器中的cookie很诡异呀

WBOY
WBOYオリジナル
2016-06-06 20:47:131806ブラウズ

微信内置浏览器中的cookie很诡异呀
这是设置和删除COOKIE的代码

<code>function set_cookie($var ,$value = '' ,$expire = 0){
$path = '/';
$domain = 'aaa.com';
$auth = 'sadfsadfasdf';
if($value!='') $value = _myencrypt($value ,$auth);
$var = '__abc_'.$var;
if($expire==0){
    $expire = 0;
}else if($expire > 0){
    $expire = __TIME__ + (86400*$expire);
}else{
    $expire = $expire * 86400;
}
setcookie($var ,$value ,$expire ,$path,$domain);
unset($var ,$expire ,$path ,$domain);
}
function delete_cookie($var){
$path = '/';
$domain = 'aaa.com';
$expire = __TIME__ - 2592000;
if(is_array($var)){
    foreach($var as $val){
        $var = '__abc_'.$val;
        setcookie($var ,'' ,$expire , $path,$domain);
    }
}else{
    setcookie('__abc_'.$var ,'' ,$expire , $path,$domain);
}
unset($path ,$expire ,$domain);
}
</code>

在普通的浏览器中是根本没有问题的

但是用微信打开这个网站后,登录没有问题,但是退出就不行了,一直不能删除cookie...

还是分时段的,昨天我记得还可以来着。。。

IOS和安卓都不行

回复内容:

微信内置浏览器中的cookie很诡异呀
这是设置和删除COOKIE的代码

<code>function set_cookie($var ,$value = '' ,$expire = 0){
$path = '/';
$domain = 'aaa.com';
$auth = 'sadfsadfasdf';
if($value!='') $value = _myencrypt($value ,$auth);
$var = '__abc_'.$var;
if($expire==0){
    $expire = 0;
}else if($expire > 0){
    $expire = __TIME__ + (86400*$expire);
}else{
    $expire = $expire * 86400;
}
setcookie($var ,$value ,$expire ,$path,$domain);
unset($var ,$expire ,$path ,$domain);
}
function delete_cookie($var){
$path = '/';
$domain = 'aaa.com';
$expire = __TIME__ - 2592000;
if(is_array($var)){
    foreach($var as $val){
        $var = '__abc_'.$val;
        setcookie($var ,'' ,$expire , $path,$domain);
    }
}else{
    setcookie('__abc_'.$var ,'' ,$expire , $path,$domain);
}
unset($path ,$expire ,$domain);
}
</code>

在普通的浏览器中是根本没有问题的

但是用微信打开这个网站后,登录没有问题,但是退出就不行了,一直不能删除cookie...

还是分时段的,昨天我记得还可以来着。。。

IOS和安卓都不行

微信里的 cookie 不是持久的,据我测试,有时关闭微信再打开就没有了。Android 和 IOS 中保存的具体时间可能有所不同。

之前想用 cookie 区别唯一用户来着,后来发现不行。但又没有服务号做 Oauth授权,着实头疼了好一阵子。后来找到这个,解决了我的问题:
微信之门api: http://wgate.gaitianxia.com/

我也遇到了同样的问题,就是删除不了Cookie,恼人!
不过现在发现是自己的手机会这样,其他的不会,我的手机参数:
LT22i
Android 4.1.2(内核3.0.8+)
微信版本6.2.4

而且cookie是还可以是重复的, js修改了cookie的值,原来的cookie的值竟然也会有效,alert之后显示"cityid=3;cityid=13;", 所以后台得到的仍然时cityid=3,太诡异了. 其他浏览器就一切正常.

<code>function delCookie(name){
    document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:01 GMT";
}</code>

此方法在微信才能正常删除cookie

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。