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入门速成教程
Mar 19 PHP
PHP实现将科学计数法转换为原始数字字符串的方法
Dec 16 PHP
yii使用activeFileField控件实现上传文件与图片的方法
Dec 28 PHP
Yii2简单实现给表单添加验证码的方法
Jul 18 PHP
PHP使用FFmpeg获取视频播放总时长与码率等信息
Sep 13 PHP
php的socket编程详解
Nov 20 PHP
php封装的mongodb操作类代码
Aug 06 PHP
php生成毫秒时间戳的实例讲解
Sep 22 PHP
php利用云片网实现短信验证码功能的示例代码
Nov 18 PHP
PHP实现微信退款功能
Oct 02 PHP
网站被恶意镜像怎么办 php一段代码轻松搞定(全面版)
Oct 23 PHP
php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析
Feb 28 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
Zerg剧情介绍
2020/03/14 星际争霸
PHP音乐采集(部分代码)
2007/02/14 PHP
php file_exists 检查文件或目录是否存在的函数
2010/05/10 PHP
PHP-CGI进程CPU 100% 与 file_get_contents 函数的关系分析
2011/08/15 PHP
javascript 写的一个简单的timer
2009/07/30 Javascript
jcrop基本参数一览
2013/07/16 Javascript
用Javascript获取页面元素的具体位置
2013/12/09 Javascript
javascript实现数字+字母验证码的简单实例
2014/02/10 Javascript
JavaScript闭包实例讲解
2014/04/22 Javascript
vue实现可增删查改的成绩单
2016/10/27 Javascript
nuxt+axios解决前后端分离SSR的示例代码
2017/10/24 Javascript
VueJS实现用户管理系统
2020/05/29 Javascript
python使用pyqt写带界面工具的示例代码
2017/10/23 Python
利用python将xml文件解析成html文件的实现方法
2017/12/22 Python
python+matplotlib绘制3D条形图实例代码
2018/01/17 Python
Python元字符的用法实例解析
2018/01/17 Python
python使用folium库绘制地图点击框
2018/09/21 Python
详解Python列表赋值复制深拷贝及5种浅拷贝
2019/05/15 Python
python创建属于自己的单词词库 便于背单词
2019/07/30 Python
基于python分析你的上网行为 看看你平时上网都在干嘛
2019/08/13 Python
python 读取数据库并绘图的实例
2019/12/03 Python
python正则表达式实例代码
2020/03/03 Python
10个python爬虫入门实例(小结)
2020/11/01 Python
PyTorch预训练Bert模型的示例
2020/11/17 Python
如何在 Matplotlib 中更改绘图背景的实现
2020/11/26 Python
HTML5给汉字加拼音收起展开组件的实现代码
2020/04/08 HTML / CSS
国际商务专业学生个人的自我评价
2013/09/28 职场文书
最新茶叶店创业计划书
2014/01/14 职场文书
如何写好自荐信
2014/04/07 职场文书
2014年学校财务工作总结
2014/12/06 职场文书
书法社团活动总结
2015/05/07 职场文书
2015年英语教研组工作总结
2015/05/23 职场文书
2016年校园社会综合治理宣传月活动总结
2016/03/16 职场文书
五年级作文之劳动作文
2019/11/12 职场文书
七年级作文之下雨天
2019/12/23 职场文书
总结Java对象被序列化的两种方法
2021/06/30 Java/Android