【背景】
在尝试用IE9的F12去分析百度空间的登录过程。
其中分析cookie的值,在登录https://passport.baidu.com/?login之前,是如何获得的。
并且,在分析登录过程之前,
当前处于页面:http://hi.baidu.com/motionhouse的前提下,自己已经在IE9的F12中去,:
Cache –>
Clear Browser cache for this domain
Clear session cookies
Clear cookies for domain
清空了对应的cache和cookie,但是接下来模拟先登录:
http://hi.baidu.com/motionhouse
再输入用户名和密码登录:
https://passport.baidu.com/?login
而抓取出来的cookie的值,却找不到在提交给https://passport.baidu.com/?login的POST请求之前,对应的两个cookie:
https://passport.baidu.com/?login req: |
STOKEN和PTOKEN是如何得来的。
(其中BAIDUID是知道的,是从第一次访问http://hi.baidu.com/motionhouse的返回值中,可以获得的)
【解决过程】
1.以为是在http://hi.baidu.com/motionhouse和https://passport.baidu.com/?login之前的某个网页的返回值中所得到的这两个cookie呢。结果搜了下,没找到。
2.又以为这两个cookie也是在javascript中用setcookie去添加出来的呢,但是结果在IE9的F12中搜了半天,也找不到对应的值。
3.后来突然想起来了,是不是对应的某个百度旗下的domain的cookie之前被保存过,但是上面的clear cookie没有清除掉而残留的?然后按照这个思路去IE的临时文件夹:
C:\Users\XXX\AppData\Local\Microsoft\Windows\Temporary Internet Files
下面找cookie,的确找到一个和百度相关的,domain是passport.baidu.com的cookie,其中就有对应的这两个cookie值:
STOKEN |
【总结】
想要完整分析某个网页的登陆过程,涉及到其中的cookie的话,想要找到其来龙去脉的话,那么往往要清楚,你所模拟的网页的相关的domain的本地之前已经有的cookie,都要全部找到并适当处理(比如删除掉)等,然后才能完全从头开始分析是如何登陆该网站的。
【后记】
刚刚试了下,好像IE9的F12中去Clear cookies for domain,是无法删除IE临时文件夹中的对应的cookie的。
因为我试了,分析百度的https://passport.baidu.com的网页,然后去Clear cookies for domain,结果IE临时文件夹中对应的domain是passport.baidu.com的cookie,还是存在的,并没有被删除掉。
所以此处不太清楚,此“Clear cookies for domain”的功能,是不是有bug,还是只删除了内存中的对应的cookie,而没有把本地的cookie删除掉。
其中也注意到了IE临时文件夹中的passport.baidu.com的cookie,其expires时间是2030年,是没有过期:
是不是“Clear cookies for domain”的功能不会删除掉没有过期的cookie?如果是,那么也就没啥debug的用处了啊。如果不是,那么为何删除不掉本地的cookie?
真的是无语了。有待继续深入研究这个。暂时只能手动删除对应的cookie了。