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


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 相关文章推荐
pw的一个放后门的方法分析
Oct 08 PHP
一个PHP数组应该有多大的分析
Jul 30 PHP
PHP 命令行工具 shell_exec, exec, passthru, system详细使用介绍
Sep 11 PHP
解析MySql与Java的时间类型
Jun 22 PHP
一个图片地址分解程序(用于PHP小偷程序)
Aug 23 PHP
php删除左端与右端空格的方法
Nov 29 PHP
php制作简单模版引擎
Apr 07 PHP
thinkphp Apache配置重启Apache1 restart 出错解决办法
Feb 15 PHP
解析 thinkphp 框架中的部分方法
May 07 PHP
php基于自定义函数记录log日志方法
Jul 21 PHP
Laravel实现短信注册的示例代码
May 29 PHP
php 使用expat方式解析xml文件操作示例
Nov 26 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访问MYSQL数据库封装类(附函数说明)
2010/12/04 PHP
PHP中的str_repeat函数在JavaScript中的实现
2013/09/16 PHP
php实现excel中rank函数功能的方法
2015/01/20 PHP
简单谈谈PHP中的include、include_once、require以及require_once语句
2016/04/23 PHP
用PHP写的一个冒泡排序法的函数简单实例
2016/05/26 PHP
PHP实现基于3DES算法加密解密字符串示例
2018/08/24 PHP
javascript(jquery)利用函数修改全局变量的代码
2009/11/02 Javascript
腾讯的ip接口 方便获取当前用户的ip地理位置
2010/11/25 Javascript
JavaScript中变量提升 Hoisting
2012/07/03 Javascript
html向js方法传递参数具体实现
2013/08/08 Javascript
javascript回车完美实现tab切换功能
2014/03/13 Javascript
浅谈Javascript中匀速运动的停止条件
2014/12/19 Javascript
理解javascript中的MVC模式
2016/01/28 Javascript
拥Bootstrap入怀——导航栏篇
2016/05/30 Javascript
AngularJS指令与指令之间的交互功能示例
2016/12/14 Javascript
jquery ajaxfileupload异步上传插件使用详解
2017/02/08 Javascript
详解react-webpack2-热模块替换[HMR]
2017/08/03 Javascript
jquery使用iscorll实现上拉、下拉加载刷新
2017/10/26 jQuery
使用Bootstrap + Vue.js实现表格的动态展示、新增和删除功能
2017/11/27 Javascript
angular基于ng-alain定义自己的select组件示例
2018/02/23 Javascript
微信小程序网络请求封装示例
2018/07/24 Javascript
pandas通过loc生成新的列方法
2018/11/28 Python
Python.append()与Python.expand()用法详解
2019/12/18 Python
pycharm新建Vue项目的方法步骤(图文)
2020/03/04 Python
浅谈TensorFlow中读取图像数据的三种方式
2020/06/30 Python
班组安全员工作职责
2014/02/01 职场文书
乡下人家教学反思
2014/02/01 职场文书
车间机修工岗位职责
2014/02/28 职场文书
优秀学生党员先进事迹材料
2014/05/29 职场文书
人力资源管理专业自荐书
2014/07/07 职场文书
文明班级申报材料
2014/12/24 职场文书
小学工作总结2015
2015/05/04 职场文书
小学三年级班主任工作经验交流材料
2015/11/02 职场文书
《海上日出》教学反思
2016/02/23 职场文书
JavaScript展开运算符和剩余运算符的区别详解
2022/02/18 Javascript
「睡美人」爱洛公主粘土人开订
2022/03/22 日漫