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 相关文章推荐
1.PHP简介
Oct 09 PHP
URL Rewrite的设置方法
Jan 02 PHP
实用函数8
Nov 08 PHP
一步一步学习PHP(8) php 数组
Mar 05 PHP
php使用正则表达式提取字符串中尖括号、小括号、中括号、大括号中的字符串
Apr 05 PHP
php浏览历史记录的方法
Mar 10 PHP
PHP的邮件群发系统phplist配置方法详细总结
Mar 30 PHP
PHP的全局错误处理详解
Apr 25 PHP
PHP使用自定义方法实现数组合并示例
Jul 07 PHP
Yii框架实现图片上传的方法详解
May 20 PHP
PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法
Nov 10 PHP
PHP扩展类型及安装方式解析
Apr 27 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
php实现简单爬虫的开发
2016/03/28 PHP
php ajax实现文件上传进度条
2016/03/29 PHP
Laravel自定义 封装便捷返回Json数据格式的引用方法
2019/09/29 PHP
Thinkphp 在api开发中异常返回依然是html的解决方式
2019/10/16 PHP
PDO实现学生管理系统
2020/03/21 PHP
PHP isset()及empty()用法区别详解
2020/08/29 PHP
基于prototype扩展的JavaScript常用函数库
2010/11/30 Javascript
js中top、clientTop、scrollTop、offsetTop的区别 文字详细说明版
2011/01/08 Javascript
jQuery数组处理方法汇总
2011/06/20 Javascript
DIV+CSS+JS不间断横向滚动实现代码
2013/03/19 Javascript
Jquery操作下拉框(DropDownList)实现取值赋值
2013/08/13 Javascript
js格式化金额可选是否带千分位以及保留精度
2014/01/28 Javascript
倒记时60刷新网页的js代码
2014/02/18 Javascript
jQuery中的$.ajax()方法应用
2014/05/06 Javascript
首页图片漂浮效果示例代码
2014/06/05 Javascript
jquery中append()与appendto()用法分析
2014/11/14 Javascript
推荐三款不错的图片压缩上传插件(webuploader、localResizeIMG4、LUploader)
2017/04/21 Javascript
Ionic2调用本地SQlite实例
2017/04/22 Javascript
AngularJs 终极购物车(实例讲解)
2017/11/08 Javascript
浅析Visual Studio Code断点调试Vue
2018/02/27 Javascript
微信公众号服务器验证Token步骤图解
2019/12/30 Javascript
Element Alert警告的具体使用方法
2020/07/27 Javascript
python数据结构之列表和元组的详解
2017/09/23 Python
Python 中的参数传递、返回值、浅拷贝、深拷贝
2019/06/25 Python
解决Python中pandas读取*.csv文件出现编码问题
2019/07/12 Python
Python Opencv任意形状目标检测并绘制框图
2019/07/23 Python
详解python with 上下文管理器
2020/09/02 Python
CSS3中使用RGBA设置透明度的示例
2015/08/04 HTML / CSS
文明之星事迹材料
2014/05/09 职场文书
擅自离岗检讨书
2014/09/12 职场文书
岗位竞聘报告范文
2014/11/06 职场文书
优秀党务工作者先进事迹材料
2014/12/25 职场文书
常务副总经理岗位职责
2015/02/02 职场文书
《植物妈妈有办法》教学反思
2016/02/23 职场文书
Python OpenCV快速入门教程
2021/04/17 Python
mysql函数全面总结
2021/11/11 MySQL