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 include加载文件两种方式效率比较
Aug 08 PHP
PHP-redis中文文档介绍
Feb 07 PHP
php 模拟get_headers函数的代码示例
Apr 27 PHP
php自动加载机制的深入分析
Jun 08 PHP
PHP里8个鲜为人知的安全函数分析
Dec 09 PHP
php多次include后导致全局变量global失效的解决方法
Feb 28 PHP
php实现的简单美国商品税计算函数
Jul 13 PHP
实例讲解如何在PHP的Yii框架中进行错误和异常处理
Mar 17 PHP
PHP编写简单的App接口
Aug 28 PHP
PHP实现的各类hash算法长度及性能测试实例
Aug 27 PHP
学习thinkphp5.0验证类使用方法
Nov 16 PHP
php+websocket 实现的聊天室功能详解
May 27 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
jQuery中的RadioButton,input,CheckBox取值赋值实现代码
2014/02/18 PHP
php使用正则表达式获取图片url的方法
2015/01/16 PHP
PHP+AJAX 投票器功能
2017/11/11 PHP
Json对象与Json字符串互转(4种转换方式)
2013/03/27 Javascript
js内存泄露的几种情况详细探讨
2013/05/31 Javascript
jQuery 获取和设置select下拉框的值实现代码
2013/11/08 Javascript
一个jquery实现的不错的多行文字图片滚动效果
2014/09/28 Javascript
node.js中实现同步操作的3种实现方法
2014/12/05 Javascript
浅析jQuery 遍历函数,javascript中的each遍历
2016/05/25 Javascript
jquery点赞功能实现代码 点个赞吧!
2020/05/29 jQuery
详解微信小程序设置底部导航栏目方法
2017/06/29 Javascript
NodeJs form-data格式传输文件的方法
2017/12/13 NodeJs
js实现上传并压缩图片效果
2018/01/10 Javascript
vue项目中导入swiper插件的方法
2018/01/30 Javascript
使用javascript做在线算法编程
2018/05/25 Javascript
新手快速上手webpack4打包工具的使用详解
2019/01/28 Javascript
javascript防抖函数debounce详解
2019/06/11 Javascript
vue router 跳转时打开新页面的示例方法
2019/07/28 Javascript
react国际化化插件react-i18n-auto使用详解
2020/03/31 Javascript
[00:47]TI7不朽珍藏III——沙王不朽展示
2017/07/15 DOTA
Python实现 PS 图像调整中的亮度调整
2019/06/28 Python
Python企业编码生成系统之主程序模块设计详解
2019/07/26 Python
python装饰器相当于函数的调用方式
2019/12/27 Python
用python拟合等角螺线的实现示例
2019/12/27 Python
Python 实现训练集、测试集随机划分
2020/01/08 Python
Mysql数据库反向生成Django里面的models指令方式
2020/05/18 Python
香港草莓网土耳其网站:Strawberrynet TR
2017/03/02 全球购物
医院护理人员的自我评价分享
2013/10/04 职场文书
学校食堂采购员岗位职责
2013/12/05 职场文书
机械设计专业大学生职业生涯规划书范文
2014/09/13 职场文书
幼儿园2014年度工作总结
2014/11/10 职场文书
上课睡觉检讨书300字
2014/11/18 职场文书
收银员岗位职责
2015/02/03 职场文书
2016年“我们的节日·清明节”活动总结
2016/04/01 职场文书
解析目标检测之IoU
2021/06/26 Python
安装Ruby和 Rails的详细步骤
2022/04/19 Ruby