欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-05-23 18:33:18
...
多个开源系统整合
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 的指令是作用到浏览器的
而你用程序访问退出页时,清除指令只能到达你的程序
换句话说你得转发收到的指令到浏览器,才行


走进死胡同了~这句话点醒我了……多谢!!!