PHP简单实现模拟登陆功能示例


Posted in PHP onSeptember 15, 2017

本文实例讲述了PHP简单实现模拟登陆功能。分享给大家供大家参考,具体如下:

在不考虑验证码的情况一下,php实现模拟登陆,网上给的办法一般是采用curl来模拟实现,但是curl实现的是服务器端与服务器端建立了会话,只能模拟登陆之后获取登陆之后的数据,无法将cookie信息种植到客户端上(至少目前本人查找没有找到办法)最后自己通过隐藏的iframe来实现。

1、curl实现模拟登陆的代码,(只是实现服务器与服务器建立会话,其实并没有在客户端与服务器之间建立会话)

<?php
$cookie_jar = tempnam('./tmp','cookie');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://192.168.0.22/logincheck.php');
curl_setopt($ch, CURLOPT_POST, 1);
$request = 'UNAME=admin&PASSWORD=123456';
curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
//把返回来的cookie信息保存在$cookie_jar文件中
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_jar);
//设定返回的数据是否自动显示
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//设定是否显示头信息
curl_setopt($ch, CURLOPT_HEADER, false);
//设定是否输出页面内容
curl_setopt($ch, CURLOPT_NOBODY, false);
curl_exec($ch);
curl_close($ch);
//get data after login
$ch2 = curl_init();
curl_setopt($ch2, CURLOPT_URL, 'http://192.168.0.22/general/');
curl_setopt($ch2, CURLOPT_HEADER, false);
curl_setopt($ch2, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch2, CURLOPT_COOKIEFILE, $cookie_jar);
$orders = curl_exec($ch2);
echo $orders;
exit;
echo '<pre>';
echo strip_tags($orders);
echo '</pre>';
curl_close($ch2);
?>

2、通过隐藏的iframe实现客户端与服务器端的通信(肯能带来一定的安全隐患)

<html>
<title></title>
<body>
<?
$goURL="http://192.168.0.22/general/email/";
?>
<iframe name="hiddenLoginFrame" onload="get_pass()" src="ceshi1.php"  id="hiddenLoginFrame" width=0 height=0 frameborder=0 scrolling=no style="display:none;">
</iframe>
<script Language="JavaScript">
  function get_pass()
  {
    window.open("<?=$goURL ?>");
    window.close();
  }
</script>
</body>
</html>

ceshi1.php

<html>
<head>
  <title>ceshi</title>
</head>
<body onload="get_pass1();">
<form name="form1" method="post" target="hiddenLoginFrame" action="http://192.168.0.22/logincheck.php">
  <input type="text" value="admin" name="UNAME">
  <input type="text" value="123456" name="PASSWORD">
</form>
</body>
<script Language="JavaScript">
  function get_pass1()
  {
    //document.form1.action=u_url;
    document.form1.submit();
  }
</script>
</html>

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
Drupal 添加模块出现莫名其妙的错误的解决方法(往往出现在模块较多时)
Apr 18 PHP
php设计模式 DAO(数据访问对象模式)
Jun 26 PHP
PHP遍历数组的几种方法
Mar 22 PHP
PHP json格式和js json格式 js跨域调用实现代码
Sep 08 PHP
PHP使用GIFEncoder类生成gif动态滚动字幕
Jul 01 PHP
php的curl封装类用法实例
Nov 07 PHP
深入探究PHP的多进程编程方法
Aug 18 PHP
Android AsyncTack 异步任务实例详解
Nov 02 PHP
thinkPHP多语言切换设置方法详解
Nov 11 PHP
PHP创建单例后台进程的方法示例
May 23 PHP
浅谈PHP发送HTTP请求的几种方式
Jul 25 PHP
laravel框架中控制器的创建和使用方法分析
Nov 23 PHP
Thinkphp开发--集成极光推送
Sep 15 #PHP
使用PHP+MySql+Ajax+jQuery实现省市区三级联动功能示例
Sep 15 #PHP
Laravel框架用户登陆身份验证实现方法详解
Sep 14 #PHP
LNMP部署laravel以及xhprof安装使用教程
Sep 14 #PHP
Laravel框架实现redis集群的方法分析
Sep 14 #PHP
ThinkPHP开发--使用七牛云储存
Sep 14 #PHP
PHP使用微信开发模式实现搜索已发送图文及匹配关键字回复的方法
Sep 13 #PHP
You might like
提问的智慧(2)
2006/10/09 PHP
ThinkPHP中url隐藏入口文件后接收alipay传值的方法
2014/12/09 PHP
jquery默认校验规则整理
2014/03/24 Javascript
jQuery的:parent选择器定义和用法
2014/07/01 Javascript
JavaScript实现的使用键盘控制人物走动实例
2014/08/27 Javascript
JSONP跨域GET请求解决Ajax跨域访问问题
2014/12/31 Javascript
javascript 动态修改css样式方法汇总(四种方法)
2015/08/27 Javascript
跟我学习javascript的基本类型和引用类型
2015/11/16 Javascript
jQuery Mobile页面返回不需要重新get
2016/04/26 Javascript
JS+Canvas绘制时钟效果
2020/08/20 Javascript
JavaScript无阻塞加载和defer、async详解
2017/02/26 Javascript
bootstrap table插件的分页与checkbox使用详解
2017/07/23 Javascript
ES6中Array.copyWithin()函数的用法实例详解
2017/09/16 Javascript
vue父组件中获取子组件中的数据(实例讲解)
2017/09/27 Javascript
nodejs实现一个word文档解析器思路详解
2018/08/14 NodeJs
详解Angular5/Angular6项目如何添加热更新(HMR)功能
2018/10/10 Javascript
Python爬虫框架Scrapy安装使用步骤
2014/04/01 Python
Python标准库之随机数 (math包、random包)介绍
2014/11/25 Python
python实现的希尔排序算法实例
2015/07/01 Python
Python文件夹与文件的相关操作(推荐)
2016/07/25 Python
Python 爬虫图片简单实现
2017/06/01 Python
使用Python监视指定目录下文件变更的方法
2018/10/15 Python
浅谈python requests 的put, post 请求参数的问题
2019/01/02 Python
Html5上传图片 移动端、PC端通用代码
2016/06/08 HTML / CSS
美国皮靴公司自1863年:The Frye Company
2016/11/30 全球购物
用JAVA实现一种排序,JAVA类实现序列化的方法(二种)
2014/04/23 面试题
德尔福集团DELPHI的笔试题
2012/02/22 面试题
高中军训感想300字
2014/03/04 职场文书
应聘护士求职信
2014/07/21 职场文书
教师个人自我剖析材料
2014/09/29 职场文书
预备党员群众路线教育实践活动思想汇报2014
2014/10/25 职场文书
安全承诺书
2015/01/19 职场文书
2015年安全员工作总结范文
2015/04/22 职场文书
教师节晚会主持词
2015/06/30 职场文书
创业计划书之家政服务
2019/09/18 职场文书
Laravel中获取IP的真实地理位置
2021/04/01 PHP