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 xml文件操作代码(一)
Mar 20 PHP
php 中文和编码判断代码
May 16 PHP
php 学习资料零碎东西
Dec 04 PHP
php 冒泡排序 交换排序法
May 10 PHP
php配置php-fpm启动参数及配置详解
Nov 04 PHP
thinkphp制作404跳转页的简单实现方法
Sep 22 PHP
PHP7安装Redis扩展教程【Linux与Windows平台】
Sep 30 PHP
PHP常用排序算法实例小结【基本排序,冒泡排序,快速排序,插入排序】
Feb 07 PHP
php获取linux命令结果的实例
Mar 13 PHP
PHP解析url并得到url参数方法总结
Oct 11 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
Feb 22 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
与空气斗智斗勇的经典《Overlord》,传说中的“无稽之谈”
2020/04/09 日漫
PHP生成短网址的3种方法代码实例
2014/07/08 PHP
PHP连接access数据库
2015/03/27 PHP
PHP使用token防止表单重复提交的方法
2016/04/07 PHP
Laravel重写用户登录简单示例
2016/10/08 PHP
Prototype使用指南之dom.js
2007/01/10 Javascript
javascript String 对象
2008/04/25 Javascript
JQuery 国际象棋棋盘 实现代码
2009/06/26 Javascript
JavaScript 异步方法队列链实现代码分析
2010/06/05 Javascript
使用Javascript接收get传递的值的代码
2011/11/30 Javascript
JQuery给元素添加/删除节点比如select
2013/04/02 Javascript
关于jQuery对象数据缓存Cache原理以及jQuery.data详解
2013/04/07 Javascript
IE下写xml文件的两种方式(fso/saveAs)
2013/08/05 Javascript
Javascript中判断变量是数组还是对象(array还是object)
2013/08/14 Javascript
Backbone.js的Hello World程序实例
2015/06/19 Javascript
jQuery支持添加事件的日历特效代码分享(3种样式)
2015/08/24 Javascript
微信小程序 教程之WXML
2016/10/18 Javascript
js弹出窗口简单实现代码
2017/03/22 Javascript
JS利用cookies设置每隔24小时弹出框
2017/04/20 Javascript
关于Vue实现组件信息的缓存问题
2017/08/23 Javascript
详解JQuery基础动画操作
2019/04/12 jQuery
vue实现的请求服务器端API接口示例
2019/05/25 Javascript
bootstrapValidator表单校验、更改状态、新增、移除校验字段的实例代码
2020/05/19 Javascript
python 实现登录网页的操作方法
2018/05/11 Python
python 画三维图像 曲面图和散点图的示例
2018/12/29 Python
python UDP(udp)协议发送和接收的实例
2019/07/22 Python
关于HTML5的22个初级技巧(图文教程)
2012/06/21 HTML / CSS
Coltorti Boutique官网:来自意大利的设计师品牌买手店
2018/11/09 全球购物
Aeropostale官网:美国著名校园品牌及青少年服饰品牌
2019/03/21 全球购物
Vinatis德国:法国领先的葡萄酒邮购公司
2020/09/07 全球购物
Java Servlet的主要功能和作用是什么
2014/02/14 面试题
树转促学习心得体会
2014/09/10 职场文书
住宿生擅自离校检讨书
2014/09/22 职场文书
2015年教研组工作总结
2015/05/04 职场文书
如何利用STAR法则制作留学文书?
2019/08/26 职场文书
分析Python感知线程状态的解决方案之Event与信号量
2021/06/16 Python