一个基础问题,但是我却没搞明白……求指点。如何让PHP运行一个url

WBOY
發布: 2016-06-23 13:56:35
原創
952 人瀏覽過

多个开源系统整合
ecshop
wecenter
onethink
通过ucenter整合用户数据

同步登录和同步退出使用官方提供的功能居然不能实现。
于是自己改造了下代码

同步登录用php的curl模拟登录解决的(这样做的安全问题谁能帮我扫盲下?)

但是,这个同步退出让我无语了……

例如 其中wecenter的退出地址是
http://www.xxxx.com/wencenter/?/account/logout/

ecshop的退出地址是
http://www.xxxx.com/shop/user.php?act=logout

上面2个地址分别复制到浏览器中,都能实现退出的功能

但是我用PHP在代码执行  都不能成功退出……

请问 正确的在PHP里执行这个URL的写法是什么?

$ch = curl_init();$timeout = 5;curl_setopt ($ch, CURLOPT_URL, $url);curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);$file_contents = curl_exec($ch);curl_close($ch);echo $file_contents; 
登入後複製

$fp = fopen($url, 'r');fclose($fp); 
登入後複製

$html = file_get_contents($url); 
登入後複製

上面三个都用了……但是都不对……应该怎么写呢……


回复讨论(解决方案)

登陆后,会在 cookie 中留下登录用户的相关信息
那么你在退出时也要把这个信息传递过去,否则他如何知道谁要退出呢?
另外你还需要清除用户浏览器中的 cookie

登陆后,会在 cookie 中留下登录用户的相关信息
那么你在退出时也要把这个信息传递过去,否则他如何知道谁要退出呢?
另外你还需要清除用户浏览器中的 cookie


感谢版主的回复

是这样的,我分别看了下 
在执行完对应页面的时候,会有程序清空session 和cookie的

但是,我通过程序去执行这个页面,却没有清除……很纠结啊

最简单的,你用  在页面里面嵌套一个这个总可以实现的吧

这个道理,你难道会不明白吗?

当用浏览器进入退出页时,退出也发出的清除 cookie 的指令是作用到浏览器的
而你用程序访问退出页时,清除指令只能到达你的程序
换句话说你得转发收到的指令到浏览器,才行

这个道理,你难道会不明白吗?

当用浏览器进入退出页时,退出也发出的清除 cookie 的指令是作用到浏览器的
而你用程序访问退出页时,清除指令只能到达你的程序
换句话说你得转发收到的指令到浏览器,才行


走进死胡同了~这句话点醒我了……多谢!!!
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板