为什么被curl请求页面的session_id是一直变化的

WBOY
发布: 2016-08-04 09:19:31
原创
1538 人浏览过

为什么被curl请求页面的session_id是一直变化的
假如:a.php用curl方式去请求b.php,那么b.php的session_id是一直变化的,这是为什么呢?
如果说a.php和b.php在不同的域,那么session_id不一直还能理解,我的a.php和b.php在同级目录,这是为什么?
为了安全方面的考虑吗

回复内容:

为什么被curl请求页面的session_id是一直变化的
假如:a.php用curl方式去请求b.php,那么b.php的session_id是一直变化的,这是为什么呢?
如果说a.php和b.php在不同的域,那么session_id不一直还能理解,我的a.php和b.php在同级目录,这是为什么?
为了安全方面的考虑吗

session是第一次请求生成的,并且放在cookie里的。如果不带着传给服务端,服务端会认为你是一个新的用户,然后给你生成一个新的session id。

你仔细琢磨一下,
curl是肯定不会带cookie之类的东西给服务端的,除非指定。所以,……

cookie里面存放着sessionID,每一次客户端发送请求时都会带上这个cookie(HTTP的无状态性)。
第一次curl请求b.php的时候,同时需要把cookie抓下来,保存到本地,你可以打开这个cookie看看里面的内容。
第二次再通过curl访问b.php的时候,把之前保存的cookie带上。

对,要带上cookie,模拟登录就是这个原理。

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!