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下实现折线图效果的代码
Apr 28 PHP
php压缩HTML函数轻松实现压缩html/js/Css及注意事项
Jan 27 PHP
php实现下载限制速度示例分享
Feb 13 PHP
php计算两个坐标(经度,纬度)之间距离的方法
Apr 17 PHP
PHP中的流(streams)浅析
Jul 02 PHP
php实现无限级分类(递归方法)
Aug 06 PHP
PHP查询附近的人及其距离的实现方法
May 11 PHP
PHP实现将MySQL重复ID二维数组重组为三维数组的方法
Aug 01 PHP
Yii框架防止sql注入,xss攻击与csrf攻击的方法
Oct 18 PHP
PHP空值检测函数与方法汇总
Nov 19 PHP
PHP使用Redis实现Session共享的实现示例
May 12 PHP
Laravel框架Blade模板简介及模板继承用法分析
Dec 03 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
打造计数器DIY三步曲(中)
2006/10/09 PHP
PHP使用适合阅读的格式显示文件大小的方法
2015/03/05 PHP
ThinkPHP3.2.3数据库设置新特性
2015/03/05 PHP
php mysqli查询语句返回值类型实例分析
2016/06/29 PHP
初窥JQuery(二)事件机制(2)
2010/12/06 Javascript
js读写(删除)Cookie实例详解
2013/04/17 Javascript
JavaScript 操作table,可以新增行和列并且隔一行换背景色代码分享
2013/07/05 Javascript
JS 实现点击a标签的时候让其背景更换
2013/10/15 Javascript
jQuery实现ajax调用WCF服务的方法(附带demo下载)
2015/12/04 Javascript
js下将金额数字每三位一逗号分隔
2016/02/19 Javascript
onclick和onblur冲突问题的快速解决方法
2016/04/28 Javascript
基于Jquery插件Uploadify实现实时显示进度条上传图片
2020/03/26 Javascript
Vue-cli创建项目从单页面到多页面的方法
2017/09/20 Javascript
原生JS控制多个滚动条同步跟随滚动效果
2017/12/22 Javascript
微信小程序中进行地图导航功能的实现方法
2018/06/29 Javascript
微信小程序显示倒计时功能示例【测试可用】
2018/12/03 Javascript
Vue 2.0 侦听器 watch属性代码详解
2019/06/19 Javascript
使用微信SDK自定义分享的方法
2019/07/03 Javascript
javascript实现页面的实时时钟显示示例
2020/08/06 Javascript
解决VueCil代理本地proxytable无效报错404的问题
2020/11/07 Javascript
在Python的Flask框架中使用模版的入门教程
2015/04/20 Python
Django框架搭建的简易图书信息网站案例
2019/05/25 Python
python for和else语句趣谈
2019/07/02 Python
Python任务调度利器之APScheduler详解
2020/04/02 Python
python如何实现DES加密
2020/09/21 Python
Python word文本自动化操作实现方法解析
2020/11/05 Python
HTML5+WebSocket实现多文件同时上传的实例
2016/12/29 HTML / CSS
您的网上新华书店:文轩网
2016/08/24 全球购物
美国渔具店:FishUSA
2019/08/07 全球购物
高中生家长寄语大全
2014/04/03 职场文书
小学秋季运动会报道稿
2014/09/30 职场文书
四风问题自我剖析材料
2014/10/07 职场文书
2015年党员创先争优承诺书
2015/01/22 职场文书
奖励通知
2015/04/22 职场文书
tp5使用layui实现多个图片上传(带附件选择)的方法实例
2021/11/17 PHP
Debian11 Xfce终端光标的颜色怎么设置?
2022/08/14 数码科技