Heim >Backend-Entwicklung >PHP-Tutorial >微信内置浏览器中的cookie很诡异呀

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

WBOY
WBOYOriginal
2016-06-06 20:47:131807Durchsuche

微信内置浏览器中的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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn