如何使用脚本模仿登陆过程


Posted in PHP onNovember 22, 2006

查看他的登陆页面的代码, 看他提交到哪个页面, 变量是什么。

<form method="post" action="login.jsp"> 
<table align="center" width="40%" style="FONT-SIZE: 12px" border="0" cellpadding="0" cellspacing="2"> 
  <tr> 
    <td width="30%" align="right" bgcolor="#0073AA" style="FONT-SIZE: 12px;color:#ffffff">name:</td> 
    <td width="70%"><input type="text" size="30" name="username"></td> 
  </tr> 
  <tr> 
    <td width="30%" align="right" bgcolor="#0073AA" style="FONT-SIZE: 12px;color:#ffffff">password:</td> 
    <td width="70%"><input type="password" size="32" name="passwd"></td> 
  </tr> 
  <tr> 
    <td colspan="2" align="right"> 
      <input type="submit" name="submit" value="Login">  
      <input type="button" name="submit" value="regest" onclick="location.href='regest.jsp'"> 
    </td> 
  </tr> 
</table> 
</form>

很明显, 如果你要登陆, 你需要把username, passwd, submit这几个变量post到login.jsp, 而且submit=Login
用以下代码:
<?php 
        $postData = "username=your_name&password=your_password&Submit=Login"; 
        $posturl = "http://......../../login.jsp";         $postUrl = parse_url($posturl); 
        $host = $postUrl[host] ? $postUrl[host] : ""; 
        $port = $postUrl[port] ? $postUrl[port] : 80; 
        $path = $postUrl[path] ? $postUrl[path] : "/"; 

        $fsp = fsockopen($host, $port, &$errno, &$errstr, 30); 
        if(!$fsp){ 
                print "\nopen socket failed\n"; 
        }else{ 
                fwrite($fsp, "POST ".$path." HTTP/1.1\r\n"); 
                fwrite($fsp, "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*\r\n"); 
                fwrite($fsp, "Accept-Language: zh-cn\r\n"); 
                fwrite($fsp, "Content-Type: application/x-www-form-urlencoded\r\n"); 
                fwrite($fsp, "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon)\r\n"); 
                fwrite($fsp, "Host:".$host."\r\n"); 
                fwrite($fsp, "Content-Length: ".strlen($postData)."\r\n\r\n"); 
                fwrite($fsp, $postData); 
                $resp = ""; 
                do{ 
                        if(strlen($out=fread($fsp, 1024)) == 0) break; 
                        $resp .= $out; 
                }while(true); 
                echo "<br><br>".nl2br($resp); 
                fclose($fsp); 
        } 
?>
PHP 相关文章推荐
PHP日期时间函数的高级应用技巧
May 16 PHP
解析PayPal支付接口的PHP开发方式
Nov 28 PHP
php foreach 参数强制类型转换的问题
Dec 10 PHP
php 伪造本地文件包含漏洞的代码
Nov 03 PHP
简单实用的PHP防注入类实例
Dec 05 PHP
微信公众平台开发关注及取消关注事件的方法
Dec 23 PHP
Codeigniter的dom类用法实例
Jun 26 PHP
详解WordPress中调用评论模板和循环输出评论的PHP函数
Jan 05 PHP
PHP小偷程序的设计与实现方法详解
Oct 15 PHP
tp5框架基于ajax实现异步删除图片的方法示例
Feb 10 PHP
PHP+ajax实现上传、删除、修改单张图片及后台处理逻辑操作详解
Feb 12 PHP
Laravel框架中队列和工作(Queues、Jobs)操作实例详解
Apr 06 PHP
php5 and xml示例
Nov 22 #PHP
PHP中的类-什么叫类
Nov 20 #PHP
解决phpmyadmin 乱码,支持gb2312和utf-8
Nov 20 #PHP
PHP配置心得包含MYSQL5乱码解决
Nov 20 #PHP
PHP+MySQL5.0中文乱码解决方法
Nov 20 #PHP
PHP的面试题集,附我的答案和分析(一)
Nov 19 #PHP
echo(),print(),print_r()之间的区别?
Nov 19 #PHP
You might like
PHP配置心得包含MYSQL5乱码解决
2006/11/20 PHP
PHP 页面跳转到另一个页面的多种方法方法总结
2009/07/07 PHP
完美解决令人抓狂的zend studio 7代码提示(content Assist)速度慢的问题
2013/06/20 PHP
php单态设计模式(单例模式)实例
2014/11/18 PHP
PHP使用array_multisort对多个数组或多维数组进行排序
2014/12/16 PHP
symfony表单与页面实现技巧
2015/01/26 PHP
Java中final关键字详解
2015/08/10 PHP
图文详解PHP环境搭建教程
2016/07/16 PHP
TP5框架使用QueryList采集框架爬小说操作示例
2020/03/26 PHP
javascript+dom树型菜单类,希望朋友们一起进步
2007/05/03 Javascript
使用Mootools动态添加Css样式表代码,兼容各浏览器
2011/12/12 Javascript
JavaScript如何从listbox里同时删除多个项目
2013/10/12 Javascript
介绍JavaScript的一个微型模版
2015/06/24 Javascript
freemarker判断对象是否为空的方法
2015/08/13 Javascript
jQuery实现美观的多级动画效果菜单代码
2015/09/06 Javascript
jQuery fancybox在ie浏览器下无法显示关闭按钮的解决办法
2016/02/19 Javascript
Bootstrap每天必学之弹出框(Popover)插件
2016/04/25 Javascript
基于JS模仿windows文件按名称排序效果
2016/06/29 Javascript
JavaScript性能优化总结之加载与执行
2016/08/11 Javascript
关于JavaScript中事件绑定的方法总结
2016/10/26 Javascript
利用CSS、JavaScript及Ajax实现图片预加载的方法
2016/11/29 Javascript
微信小程序实现日历功能
2018/11/27 Javascript
解决layui的使用以及针对select、radio等表单组件不显示的问题
2019/09/05 Javascript
LayUi数据表格自定义赋值方式
2019/10/26 Javascript
JS操作Fckeditor的一些常用方法(获取、插入等)
2020/02/19 Javascript
[01:15:00]LGD vs Mineski Supermajor 胜者组 BO3 第一场 6.5
2018/06/06 DOTA
python求最大连续子数组的和
2018/07/07 Python
Python socket模块实现的udp通信功能示例
2019/04/10 Python
利用python中的matplotlib打印混淆矩阵实例
2020/06/16 Python
Interflora澳大利亚:同日鲜花速递
2019/06/25 全球购物
物流专业大学生求职信范文
2013/10/28 职场文书
实习鉴定评语
2014/01/19 职场文书
12岁生日感言
2014/01/21 职场文书
公司成本主管岗位责任制
2014/02/21 职场文书
TensorFlow中tf.batch_matmul()的用法
2021/06/02 Python
nginx内存池源码解析
2021/11/20 Servers