php模拟网站登陆(post/get提交)

Eddy 发布于2012-10-29 14:7:2 分类: 技术心得 已浏览loading 网友评论1条 我要评论

这两天做的个小业务,把思路和用到的技术分享下,供参考。

问题描述:

先用账户和密码登陆A网站,登陆后在后台可以添加账户。现在需要实现的功能是做个注册页面B,直接实现A网站的后台添加用户功能,免去手动登陆添加操作。

我是这么实现的:

1、首先抓包分析登陆A网站以及添加账户的数据,看是用的post还是get操作,提交的参数有哪些;

2、有了参数,在B页面做好对应的表单,提交到我们的页面C处理;

3、 页面C用来模拟登陆A网站,登陆后再模拟账户添加。

其中,模拟post提交我是用的Snoopy类库,功能很强大,具体用法可以google参考下。这里有几个关键点:

一是A网站的登陆过程分两步,而且有验证码。这就要求我们先获取验证码,在post数据的时候带上cookie信息,包括模拟登陆成功后,添加账户时也要带上cookie信息,否则是失败的。

另外有些网站表单提交前很多参数是先用JS加密了再提交的,具体可分析页面中的JS代码,直接拿过来用就行。

还有有些站会检查来路reffer信息,最后在头信息上加上referer参数。

关于cookie信息的获取问题,可以从服务器返回的header中找到,贴段我的代码:

 

foreach($snoopy->headers as $value){

if(strpos($value,'Cookie')){

$strR=$value;

}

}

$data = explode('=',$strR);

$cookieName =trim(strstr($data[0],' '));

$cookieValue = trim(strstr($data[1],';',true));

具体的问题要具体分析,我这个只是个思路。

 

已经有(1)位网友发表了评论,你也评一评吧!
原创文章如转载,请注明:转载自Eddy Blog
原文地址:http://www.rrgod.com/technique/853.html     欢迎订阅Eddy Blog

  1. 发表于2012-11-2 3:37:03

    进来支持下 很喜欢你的博客,相比较我的就差多了 www.wlyxe.cn 欢迎回访,冒昧问下 是否可以交换友情链接呢?

记住我的信息,下次不用再输入 欢迎给Eddy Blog留言