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程序实现支持页面后退的两种方法
Jun 30 PHP
php连接mysql数据库代码
Mar 10 PHP
php xml文件操作代码(一)
Mar 20 PHP
php 需要掌握的东西 不做浮躁的人
Dec 28 PHP
如何用PHP实现插入排序?
Apr 10 PHP
PHP加密函数 Javascript/Js 解密函数
Sep 23 PHP
PHP中使用file_get_contents抓取网页中文乱码问题解决方法
Dec 17 PHP
PHP获取数组最后一个值的2种方法
Jan 21 PHP
php计算整个目录大小的方法
Jun 19 PHP
PHP使用pear实现mail发送功能 windows环境下配置pear
Apr 15 PHP
PHP常见的6个错误提示及解决方法
Jul 07 PHP
PHP中$GLOBALS与global的区别详解
Mar 21 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
如何冲泡挂耳包咖啡?技巧是什么
2021/03/04 冲泡冲煮
基于php设计模式中工厂模式详细介绍
2013/05/15 PHP
thinkPHP实现瀑布流的方法
2014/11/29 PHP
解决微信授权回调页面域名只能设置一个的问题
2016/12/11 PHP
PHP+MYSQL实现读写分离简单实战
2017/03/13 PHP
DHTML Slide Show script图片轮换
2008/03/03 Javascript
ext checkboxgroup 回填数据解决
2009/08/21 Javascript
Js从头学起(基本数据类型和引用类型的参数传递详细分析)
2012/02/16 Javascript
jQuery插件-jRating评分插件源码分析及使用方法
2012/12/28 Javascript
js 点击页面其他地方关闭弹出层(示例代码)
2013/12/24 Javascript
js css 实现遮罩层覆盖其他页面元素附图
2014/09/22 Javascript
html5+javascript实现简单上传的注意细节
2016/04/18 Javascript
AngularJS 使用ng-repeat报错 [ngRepeat:dupes]
2017/01/19 Javascript
基于JavaScript实现淘宝商品广告效果
2017/08/10 Javascript
浅谈Node异步编程的机制
2017/10/18 Javascript
判断jQuery是否加载完成,没完成继续判断的解决方法
2017/12/06 jQuery
vue中实现左右联动的效果
2018/06/22 Javascript
微信小程序实现两边小中间大的轮播效果的示例代码
2018/12/07 Javascript
vue实现微信获取用户信息的方法
2019/03/21 Javascript
node.js Promise对象的使用方法实例分析
2019/12/26 Javascript
在Docker上部署Python的Flask框架的教程
2015/04/08 Python
python爬虫爬取淘宝商品信息(selenum+phontomjs)
2018/02/24 Python
Python函数必须先定义,后调用说明(函数调用函数例外)
2020/06/02 Python
python实现人性化显示金额数字实例详解
2020/09/25 Python
Python3利用scapy局域网实现自动多线程arp扫描功能
2021/01/21 Python
印度尼西亚电子产品购物网站:Kliknklik
2018/06/05 全球购物
银行柜员应聘推荐信范文
2013/11/24 职场文书
中国梦的演讲稿
2014/01/08 职场文书
会计核算科岗位职责
2014/03/19 职场文书
不拖欠农民工工资承诺书
2014/03/31 职场文书
《永远的白衣战士》教学反思
2014/04/25 职场文书
新闻报道策划方案
2014/06/11 职场文书
雨花台导游词
2015/02/06 职场文书
电力培训学习心得体会
2016/01/11 职场文书
MySQL高速缓存启动方法及参数详解(query_cache_size)
2021/07/01 MySQL
Python如何加载模型并查看网络
2022/07/15 Python