PHP curl登录 跳过验证码
<?php
switch($_GET['do']){
case 'vc':
$cookieFile = "./test.tmp";
$url = 'http://localhost/test/login.php?do=vcode&?r='.rand();
$ch = curl_init($url);
curl_setopt($ch,CURLOPT_COOKIEJAR, $cookieFile); // 把返回来的cookie信息保存在文件中
curl_exec($ch);
curl_close($ch);
exit;
break;
case 'login':
$pars = http_build_query($_GET);
$cookieFile = "./test.tmp";
$url = 'http://localhost/test/login.php?do=login&'.$pars;
$ch = curl_init($url);
curl_setopt($ch,CURLOPT_COOKIEFILE, $cookieFile); //同时发送Cookie
curl_exec($ch);
curl_close($ch);
//虚拟操作
$url = 'http://localhost/test/login.php?do=dosth';
$ch = curl_init($url);
curl_setopt($ch,CURLOPT_COOKIEFILE, $cookieFile); //同时发送Cookie
curl_exec($ch);
curl_close($ch);
exit;
break;
default :
break;
}
?>
<html>
<form action="">
<input type="hidden" value="login" name="do">
<input type="text" value="test" name="u">
<input type="password" value="testp" name="p">
<input type="text" value="" name="vc">
<input type="submit" value="OK">
<iframe src="http://localhost/test/vmlogin.php?do=vc" ><iframe>
</form>
</html>
登录页面 login.php:
<?php
session_start();
switch($_GET['do']){
case 'vcode':
echo $_SESSION['vc'] = rand(100,999);
exit();
break;
case 'login':
if($_GET['vc'] != $_SESSION['vc'])
die('veryfy code error');
$auth = array('test'=>'testp');
if($auth[$_GET['u']] == $_GET['p']){
$_SESSION['has_login'] = 1;
header("location:http://localhost/test/");
}else{
die('invalid user/pwd');
}
exit();
break;
case 'dosth':
if($_SESSION['has_login'])
exit("do sth");
else
exit("no privilege");
break;
default:
break;
}
?>
<html>
<form action="">
<input type="text" value="" name="u">
<input type="password" value="" name="p">
<input type="text" value="" name="vc">
<input type="hidden" value="login" name="do">
<input type="submit" value="OK">
<iframe src="http://localhost/test/login.php?do=vcode" ><iframe>
</form>
</html>
PHP curl登录 跳过验证码的更多相关文章
- requests库使用:通过cookie跳过验证码登录,并用Session跨请求保持cookie
拿我平时测试的一个系统为例,从UI层面来说必须先登录才可以进行后续操作,但是我在测试接口文档提供的接口时,发现并不需要登录,每个接口只要传参就可以正常返回.原因是我们这边专门弄了一个接口包来统一管理常 ...
- 通过cookies跳过验证码登陆页面,直接访问网站的其它URL
我每次手动访问去NN网的一家酒店,就不需要登陆,一旦我用脚本打开就会让我登陆,而登陆页面又有验证码,不想识别验证码,所以就想:“通过cookies跳过验证码登陆页面,直接访问网站的其它URL” 转 ...
- 模拟用户登录,内含验证码验证和request等操作
模拟用户登录,内含验证码验证和jsp等操作 1.案例需求: 1. 访问带有验证码的登录页面login.jsp 2. 用户输入用户名,密码以及验证码. * 如果用户名和密码输入有误,跳转登录页面,提示: ...
- SpringBoot 整合 Shiro 密码登录与邮件验证码登录(多 Realm 认证)
导入依赖(pom.xml) <!--整合Shiro安全框架--> <dependency> <groupId>org.apache.shiro</group ...
- C#-WebForm-Session、Cookie-登录验证(未登录跳至登录界面)、隐藏地址栏传值
Post 传值(看不见的传值) Get 传值(看得见的传值) Session - 全局变量组 存放位置:服务端 作用:只要里面有内容,那么这个网站中所有的C#端都能访问到这个变量 -- object类 ...
- DEDE后台登录和前台验证码不显示的解决方法
DEDE后台登录和前台验证码不显示的解决方法,网络上现在有好几种方法,某些时候还是有用的.说说自己今天遇到的一个情况,跟其他不一样的原因和解决方法: 方法一 1.用ftp把网站根目录下的DATA文件 ...
- 纯JSP实现简单登录跳转
1.JSP介绍 JSP即Java Server Pages,JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑.网页还能通过tags和script ...
- 单点登录CAS使用记(四):为登录页面加上验证码
CAS默认的登录页面样式如下,只有用户名与密码两项验证项目. 现在需要为首页登录加上验证码功能. 第一步:首页对默认登录页面的样式进行了调整,使其看上去还算美观. 在页面上加上了验证码项目. 第二步: ...
- SSM登录跳转到登录页,登录页不能加载js和样式
SSM登录跳转到登录页,登录页不能加载js和样式选用jsppage添加根路径. <% String rootPath = request.getContextPath(); %> < ...
随机推荐
- swing包含了各种组件的类
javax.swing 最常用的pachage,包含了各种swing组件的类 javax.swing.border 包含与swing组件外框有关的类 javax..swing.colorchooser ...
- java EE 环境配置(JDK + Tomcat + Eclipse for java EE)
这学期的课程多数都是java语言的,像Java Web程序设计,java课程设计案例,所以趁周末先把软件,环境配置好. 下载JDK 先给上下载链接:http://www.oracle.com/tech ...
- 10个样式各异的CSS3 Loading加载动画
前几天我在园子里分享过2款很酷的CSS3 Loading加载动画,今天又有10个最新的Loading动画分享给大家,这些动画的样式都不一样,实现起来也并不难,你很容易把它们应用在项目中,先来看看效果图 ...
- 在Centos7下发布.NET CORE项目[转]
1.安装安装前准备开发环境 编译类库:yum -y install gcc make gcc-c++ openssl-devel 系统信息: CentOS Linux release 7.2.1511 ...
- win7下安装双系统Ubuntu14.04后开机没有win7,直接进入Ubuntu
开机进入Ubuntu后,打开命令端,输入: sudo update-grub 然后重启,则解决问题
- 树莓派获取ip地址发送到邮箱
公网 ip.sh curl http://members.3322.org/dyndns/getip >>/email/ip.log python /email/mail.py ##### ...
- java String.intern();
0.引言 什么都先不说,先看下面这个引入的例子: String str1 = new String("SEU")+ new String("Calvin"); ...
- 手机程序的app包名查找,可以在手机上查到
获取pkgname(安卓软件包名) 1. 先下载pkgName安装文件(pkgName.apk )并在手机上安装2. 打开刚刚安装的pkgName软件,软件会自动生成你手机上软件的包名列表,同时会在手 ...
- php脚本超时 结束执行代码
函数:stream_context_create ,file_get_content 创建并返回一个文本数据流并应用各种选项,可用于fopen(),file_get_contents()等过程的超时设 ...
- Android学习之——SpannableString和TextView的使用及研究
前言 相信大家对Android的TextView的使用已经相当熟悉了,但有没有发现TextView的文字总是那么单调,可以修改的就字体大小,颜色等等.要想实现自定义的文字,就要用到我们今天的主角--S ...