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实现文件上传二法
Oct 09 PHP
require(),include(),require_once()和include_once()区别
Mar 27 PHP
PHP操作MongoDB时的整数问题及对策说明
May 02 PHP
php5.3 注意事项说明
Jul 01 PHP
php读取图片内容并输出到浏览器的实现代码
Aug 08 PHP
PHP依赖倒置(Dependency Injection)代码实例
Oct 11 PHP
php中实现用数组妩媚地生成要执行的sql语句
Jul 10 PHP
PHP结合jQuery插件ajaxFileUpload实现异步上传文件实例
Aug 17 PHP
PHP 中 DOMDocument保存xml时中文出现乱码问题的解决方案
Sep 19 PHP
PHP应用跨时区功能的实现方法
Mar 21 PHP
Laravel Validator 实现两个或多个字段联合索引唯一
May 08 PHP
thinkphp5 路由分发原理
Mar 18 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
Laravel 5 学习笔记
2015/03/06 PHP
php将print_r处理后的数据还原为原始数组的解决方法
2016/11/02 PHP
PHP关键特性之命名空间实例详解
2017/05/06 PHP
PHP实现的抓取小说网站内容功能示例
2019/06/27 PHP
PHP基于swoole多进程操作示例
2019/08/12 PHP
HTA版JSMin(省略修饰语若干)基于javascript语言编写
2009/12/24 Javascript
基于jQuery的固定表格头部的代码(IE6,7,8测试通过)
2010/05/18 Javascript
JavaScript中将一个值转换为字符串的方法分析[译]
2012/09/21 Javascript
jQuery基础框架浅入剖析
2012/12/27 Javascript
使用jquery mobile做幻灯播放效果实现步骤
2013/01/04 Javascript
jQuery.fn和jQuery.prototype区别介绍
2013/10/05 Javascript
JavaScript常用脚本汇总(二)
2015/03/04 Javascript
jquery中toggle函数交替使用问题
2015/06/22 Javascript
深入解析Backbone.js框架的依赖库Underscore.js的作用
2016/05/07 Javascript
使用AngularJS 跨站请求如何解决jsonp请求问题
2017/01/16 Javascript
bootstrap css样式之表单
2017/01/19 Javascript
正则验证小数点后面只能有两位数的方法
2017/02/28 Javascript
nodeJS(express4.x)+vue(vue-cli)构建前后端分离实例(带跨域)
2017/07/05 NodeJs
深入研究React中setState源码
2017/11/17 Javascript
微信小程序按钮去除边框线分享页面功能
2018/08/27 Javascript
python 打印出所有的对象/模块的属性(实例代码)
2016/09/11 Python
Python 3实战爬虫之爬取京东图书的图片详解
2017/10/09 Python
Python中正反斜杠(‘/’和‘\’)的意义与用法
2019/08/12 Python
python正则过滤字母、中文、数字及特殊字符方法详解
2020/02/11 Python
python 爬虫 实现增量去重和定时爬取实例
2020/02/28 Python
html5-canvas中使用clip抠出一个区域的示例代码
2018/05/25 HTML / CSS
Nike台湾官方商店:Nike.com (TW)
2017/08/16 全球购物
大学生创业计划书的格式要求
2013/12/29 职场文书
《彭德怀和他的大黑骡子》教学反思
2014/04/12 职场文书
爱情保证书大全
2014/04/29 职场文书
产品生产计划书
2014/05/07 职场文书
湖南省召开党的群众路线教育实践活动总结大会报告
2014/10/21 职场文书
2015年维修电工工作总结
2015/04/25 职场文书
2015年教学副校长工作总结
2015/07/22 职场文书
【海涛解说】史上最给力比赛,挑战DOTA极限
2022/04/01 DOTA
Go调用Rust方法及外部函数接口前置
2022/06/14 Golang