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 相关文章推荐
15种PHP Encoder的比较
Mar 06 PHP
php 向访客和爬虫显示不同的内容
Nov 09 PHP
纯php打造的tab选项卡效果代码(不用js)
Dec 29 PHP
比较好用的PHP防注入漏洞过滤函数代码
Apr 11 PHP
php缓存技术详细总结
Aug 07 PHP
PHP+MySQL之Insert Into数据插入用法分析
Sep 27 PHP
PHP利用APC模块实现大文件上传进度条的方法
Oct 29 PHP
PHP获取当前URL路径的处理方法(适用于多条件筛选列表)
Feb 10 PHP
CentOS 上搭建 PHP7 开发测试环境
Feb 26 PHP
windows下的WAMP环境搭建图文教程(推荐)
Jul 27 PHP
ThinkPHP框架使用redirect实现页面重定向的方法实例分析
Apr 12 PHP
PHP实现两种排课方式
Jun 26 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
PHP中Session的概念
2006/10/09 PHP
实时抓取YAHOO股票报价的代码
2006/10/09 PHP
PHP面向对象分析设计的经验原则
2008/09/20 PHP
php用户注册时常用的检验函数实例总结
2014/12/22 PHP
详解Laravel设置多态关系模型别名的方式
2019/10/17 PHP
PHP常用字符串函数用法实例总结
2020/06/04 PHP
js使用for循环及if语句判断多个一样的name
2014/09/09 Javascript
JavaScript中Number.MIN_VALUE属性的使用示例
2015/06/04 Javascript
在JavaScript的AngularJS库中进行单元测试的方法
2015/06/23 Javascript
Javascript函数的参数
2015/07/16 Javascript
JavaScript对Cookie进行读写操作实例
2015/07/25 Javascript
AngularJS用户选择器指令实例分析
2016/11/04 Javascript
利用Angularjs中模块ui-route管理状态的方法
2016/12/27 Javascript
详解nodejs 配置文件处理方案
2019/01/02 NodeJs
JavaScript 变量,数据类型基础实例详解【变量、字符串、数组、对象等】
2020/01/04 Javascript
vue中移动端调取本地的复制的文本方式
2020/07/18 Javascript
[48:00]EG vs LGD 2018国际邀请赛淘汰赛BO3 第二场 8.26
2018/08/29 DOTA
用python做一个搜索引擎(Pylucene)的实例代码
2017/07/05 Python
python+selenium实现京东自动登录及秒杀功能
2017/11/18 Python
python timestamp和datetime之间转换详解
2017/12/11 Python
tf.truncated_normal与tf.random_normal的详细用法
2018/03/05 Python
python批量读取txt文件为DataFrame的方法
2018/04/03 Python
python中for循环把字符串或者字典添加到列表的方法
2019/07/20 Python
将Pytorch模型从CPU转换成GPU的实现方法
2019/08/19 Python
详解如何在PyCharm控制台中输出彩色文字和背景
2020/08/17 Python
为2021年的第一场雪锦上添花:用matplotlib绘制雪花和雪景
2021/01/05 Python
俄罗斯极限运动网上商店:Board Shop №1
2020/12/18 全球购物
教师自我评价范例
2013/09/24 职场文书
培训演讲稿范文
2014/01/12 职场文书
《雨霖铃》教学反思
2014/02/22 职场文书
人事科岗位职责范本
2014/03/02 职场文书
婚礼司仪主持词
2014/03/14 职场文书
教职工代表大会主持词
2014/04/01 职场文书
2015年电教工作总结
2015/05/26 职场文书
建房合同协议书
2016/03/21 职场文书
嵌入式Redis服务器在Spring Boot测试中的使用教程
2021/07/21 Redis