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

原创
2016-08-04 09:19:31 1181浏览

为什么被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,模拟登录就是这个原理。

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。