本文实例讲述了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 curl用法总结》、《PHP数组(Array)操作技巧大全》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《php字符串(string)用法总结》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
# PHP
# 模拟登陆
# php实现模拟登陆方正教务系统抓取课表
# PHP函数分享之curl方式取得数据、模拟登陆、POST数据
# PHP实现微信模拟登陆并给用户发送消息的方法【文字
# 图片
# 图文】
# php模拟登陆的实现方法分析
# php中通过curl模拟登陆discuz论坛的实现代码
# php 论坛采集程序 模拟登陆
# 抓取页面 实现代码
# php实现微信模拟登陆、获取用户列表及群发消息功能示例
# PHP 模拟登陆MSN并获得用户信息
# php通过curl模拟登陆DZ论坛
# PHP模拟登陆163邮箱发邮件及获取通讯录列表的方法
# PHP 模拟登陆功能实例详解
# 客户端
# 程序设计
# 的是
# 操作技巧
# 相关内容
# 感兴趣
# 数据结构
# 给大家
# 验证码
# 没有找到
# 更多关于
# 来实现
# 所述
# 建立了
# 讲述了
# 网上
# logincheck
# UNAME
# request
# CURLOPT_POST
相关文章:
高防网站服务器:DDoS防御与BGP线路的AI智能防护方案
如何选择服务器才能高效搭建专属网站?
学校免费自助建站系统:智能生成+拖拽设计+多端适配
如何快速搭建二级域名独立网站?
音响网站制作视频教程,隆霸音响官方网站?
css网站制作参考文献有哪些,易聊怎么注册?
招商网站制作流程,网站招商广告语?
建站主机如何选?高性价比方案全解析
如何在沈阳梯子盘古建站优化SEO排名与功能模块?
c# 在ASP.NET Core中管理和取消后台任务
建站之星后台搭建步骤解析:模板选择与产品管理实操指南
网站设计制作公司地址,网站建设比较好的公司都有哪些?
高性能网站服务器配置指南:安全稳定与高效建站核心方案
佛山企业网站制作公司有哪些,沟通100网上服务官网?
已有域名和空间如何快速搭建网站?
开源网站制作软件,开源网站什么意思?
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?
建站之星体验版:智能建站系统+响应式设计,多端适配快速建站
模具网站制作流程,如何找模具客户?
小型网站建站如何选择虚拟主机?
唐山网站制作公司有哪些,唐山找工作哪个网站最靠谱?
如何快速登录WAP自助建站平台?
独立制作一个网站多少钱,建立网站需要花多少钱?
Thinkphp 中 distinct 的用法解析
建站之家VIP精选网站模板与SEO优化教程整合指南
如何在阿里云ECS服务器部署织梦CMS网站?
婚礼视频制作网站,学习*后期制作的网站有哪些?
开封网站制作公司,网络用语开封是什么意思?
网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?
建站主机SSH密钥生成步骤及常见问题解答?
企业微网站怎么做,公司网站和公众号有什么区别?
沈阳制作网站公司排名,沈阳装饰协会官方网站?
小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?
太原网站制作公司有哪些,网约车营运证查询官网?
如何快速完成中国万网建站详细流程?
已有域名如何快速搭建专属网站?
如何选择域名并搭建高效网站?
如何高效配置IIS服务器搭建网站?
php json中文编码为null的解决办法
网站制作中优化长尾关键字挖掘的技巧,建一个视频网站需要多少钱?
,有什么在线背英语单词效率比较高的网站?
C++中引用和指针有什么区别?(代码说明)
专业商城网站制作公司有哪些,pi商城官网是哪个?
建站之星会员如何解锁更多建站功能?
c# Task.ConfigureAwait(true) 在什么场景下是必须的
建站三合一如何选?哪家性价比更高?
武清网站制作公司,天津武清个人营业执照注销查询系统网站?
网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?
*请认真填写需求信息,我们会在24小时内与您取得联系。