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 相关文章推荐
测试您的 PHP 水平的题目
May 30 PHP
用php实现让页面只能被百度gogole蜘蛛访问的方法
Dec 29 PHP
关于session在PHP5的配置文件中的详细设置参数说明
Apr 20 PHP
基于php socket(fsockopen)的应用实例分析
Jun 02 PHP
php 判断是否是中文/英文/数字示例代码
Sep 30 PHP
windows下apache搭建php开发环境
Aug 27 PHP
两款万能的php分页类
Nov 12 PHP
Smarty保留变量用法分析
May 23 PHP
php 猴子摘桃的算法
Jun 20 PHP
使用 laravel sms 构建短信验证码发送校验功能
Nov 06 PHP
Ajax中的JSON格式与php传输过程全面解析
Nov 14 PHP
Laravel 实现数据软删除功能
Aug 21 PHP
Thinkphp开发--集成极光推送
Sep 15 #PHP
php插件Xajax使用方法详解
Aug 31 #PHP
php数据库的增删改查 php与javascript之间的交互
Aug 31 #PHP
php注册系统和使用Xajax即时验证用户名是否被占用
Aug 31 #PHP
PHP文字转图片功能原理与实现方法分析
Aug 31 #PHP
laravel如何开启跨域功能示例详解
Aug 31 #PHP
Laravel构建即时应用的一种实现方法详解
Aug 31 #PHP
You might like
投票管理程序
2006/10/09 PHP
一个简单的网页密码登陆php代码
2012/07/17 PHP
php计算几分钟前、几小时前、几天前的几个函数、类分享
2014/04/09 PHP
神盾加密解密教程(一)PHP变量可用字符
2014/05/28 PHP
PHP 常用的header头部定义汇总
2015/06/19 PHP
Yii2.0多文件上传实例说明
2017/07/24 PHP
Laravel5.1框架注册中间件的三种场景详解
2019/07/09 PHP
基于jquery &amp; json的省市区联动代码
2012/06/26 Javascript
IE6-IE9中tbody的innerHTML不能赋值的解决方法
2014/06/05 Javascript
JS实现可直接显示网页代码运行效果的HTML代码预览功能实例
2015/08/06 Javascript
JavaScript中获取Radio被选中的值
2015/11/11 Javascript
JS判断来路是否是百度等搜索索引进行弹窗或自动跳转的实现代码
2016/10/09 Javascript
微信小程序 教程之模块化
2016/10/17 Javascript
bootstrap modal弹出框的垂直居中
2016/12/14 Javascript
JavaScript闭包和范围实例详解
2016/12/19 Javascript
JS三目运算(三元运算)方法详解
2017/03/01 Javascript
jquery中封装函数传递当前元素的方法示例
2017/05/05 jQuery
详解Windows下安装Nodejs步骤
2017/05/18 NodeJs
Vue2.0仿饿了么webapp单页面应用详细步骤
2018/07/08 Javascript
iphone刘海屏页面适配方法
2019/05/07 Javascript
[02:17]2016完美“圣”典风云人物:Sccc专访
2016/12/03 DOTA
在pycharm中显示python画的图方法
2019/08/31 Python
解决python web项目意外关闭,但占用端口的问题
2019/12/17 Python
利用keras加载训练好的.H5文件,并实现预测图片
2020/01/24 Python
印度领先的眼镜电子商务网站:Lenskart
2019/12/16 全球购物
中专生毕业自我鉴定
2013/11/01 职场文书
教育学专业毕业生的自我评价
2013/11/21 职场文书
英语自荐信常用语句
2013/12/13 职场文书
村委会贫困证明
2014/01/14 职场文书
互联网电子商务专业毕业生求职信
2014/03/18 职场文书
奥巴马经典演讲稿
2014/09/13 职场文书
会计实训报告范文
2014/11/04 职场文书
2014年结对帮扶工作总结
2014/12/17 职场文书
2016年教师寒假学习心得体会
2015/10/09 职场文书
从np.random.normal()到正态分布的拟合操作
2021/06/02 Python
SQL Server中T-SQL标识符介绍与无排序生成序号的方法
2022/05/25 SQL Server