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 301转向实现代码
Sep 18 PHP
比较时间段一与时间段二是否有交集的php函数
May 31 PHP
php中的一些数组排序方法分享
Jul 20 PHP
CURL的学习和应用(附多线程实现)
Jun 03 PHP
使用CodeIgniter的类库做图片上传
Jun 12 PHP
thinkphp缓存技术详解
Dec 09 PHP
腾讯微博提示missing parameter errorcode 102 错误的解决方法
Dec 22 PHP
PHP中常用的数组操作方法笔记整理
May 16 PHP
Laravel SQL语句记录方式(推荐)
May 26 PHP
Laravel下生成验证码的类
Nov 15 PHP
PHP设计模式之装饰器模式定义与用法详解
Apr 02 PHP
PHP使用DOM对XML解析处理操作示例
Jul 04 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
神族 PROTOSS 概述
2020/03/14 星际争霸
在WINDOWS中设置计划任务执行PHP文件的方法
2011/12/19 PHP
php单例模式示例分享
2015/02/12 PHP
详解php魔术方法(Magic methods)的使用方法
2016/02/14 PHP
php自定义函数br2nl实现将html中br换行符转换为文本输入中换行符的方法【与函数nl2br功能相反】
2017/02/17 PHP
详解PHP如何更好的利用PHPstorm的自动提示
2017/08/18 PHP
PHP基于timestamp和nonce实现的防止重放攻击方案分析
2019/07/26 PHP
PHP基于phpqrcode类生成二维码的方法示例详解
2020/08/07 PHP
js模拟弹出效果代码修正版
2008/08/07 Javascript
javascript 写类方式之九
2009/07/05 Javascript
jquery 入门教程 [翻译] 推荐
2009/08/17 Javascript
Jquery 选中表格一列并对表格排序实现原理
2012/12/15 Javascript
Javascript学习笔记之 函数篇(一) : 函数声明和函数表达式
2014/06/24 Javascript
Javascript 赋值机制详解
2014/11/23 Javascript
微信小程序 列表的上拉加载和下拉刷新的实现
2017/04/01 Javascript
浅谈Vue数据绑定的原理
2018/01/08 Javascript
解决低版本的浏览器不支持es6的import问题
2018/03/09 Javascript
Openlayers实现地图全屏显示
2020/09/28 Javascript
JS实现鼠标移动拖尾
2020/12/27 Javascript
调试Python程序代码的几种方法总结
2015/04/28 Python
Matplotlib中文乱码的3种解决方案
2018/11/15 Python
Python3多目标赋值及共享引用注意事项
2019/05/27 Python
Python多线程:主线程等待所有子线程结束代码
2020/04/25 Python
Python项目实战之使用Django框架实现支付宝付款功能
2021/02/23 Python
纯CSS3实现Material Design效果
2017/03/09 HTML / CSS
轻松掌握CSS3中的字体大小单位rem的使用方法
2016/05/24 HTML / CSS
Dr. Martens马汀博士法国官网:马丁靴鼻祖
2020/01/15 全球购物
语文教育专业推荐信范文
2013/11/25 职场文书
会议邀请函范文
2014/01/09 职场文书
《孙权劝学》教学反思
2014/04/23 职场文书
中小学生学籍证明
2014/10/25 职场文书
2014年乡镇妇联工作总结
2014/12/02 职场文书
总经理司机岗位职责
2015/04/10 职场文书
风雨哈佛路观后感
2015/06/03 职场文书
python 详解turtle画爱心代码
2022/02/15 Python
victoriaMetrics库布隆过滤器初始化及使用详解
2022/04/05 Golang