验证码

springboot集成shiro实现验证码校验

守給你的承諾、 提交于 2020-01-30 17:18:14
github:https://github.com/peterowang/shiro/ 这里实现验证码校验的思路是自己添加一个Filter继承 FormAuthenticationFilter ,FormAuthenticationFilter负责表单验证,shiro会先在FormAuthenticationFilter子类去校验验证码,然后再去做身份验证。 生成验证码这里使用Google的Kaptcha框架。 1.添加依赖 <!--google的验证码框架--><dependency> <groupId>com.google.code.kaptcha</groupId> <artifactId>kaptcha</artifactId> <version>2.3</version></dependency> 2.拓展 UsernamePasswordToken ,将验证码包含进去: 在com.example.demo.config.Shiro包下添加以下类: package com.example.demo.config.shiro;import org.apache.shiro.authc.UsernamePasswordToken;/** * 对UsernamePasswordToken进行二次封装,将验证码加入 * Created by BFD-593 on 2017/8

验证码登录案例

﹥>﹥吖頭↗ 提交于 2020-01-23 23:14:50
<div class="container text-center"> <form class="form-signin" action="/loginCheckCodeServlet" method="post"> <h2 class="form-signin-heading">登录页面</h2> <input type="text" name="username" class="form-control" placeholder="用户名" required autofocus> <input type="password" name="password" class="form-control" placeholder="密码" required> 验证码<input style="width:130px;font-size:20px; margin-bottom: 15px;" type="text" name="code"> <!--页面一加载就向checkCodeServlet发送请求--> <img src="/checkCodeServlet" alt="验证码" style="cosor:pointer" onclick = "changeCheckCode(this);"><br/> <button class="btn btn-lg btn-primary

解决Onethink验证码不显示问题

为君一笑 提交于 2020-01-08 21:45:21
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 常见的GD未安装及BOM问题办法就不细说了,度娘上答案较多。 可是我遇到的验证码不显示不是这类原因导致的,反复检查最后才确定了是FreeType字体引擎未安装的原因。 首先,打开TP调试模式,右键打开验证码错误图标,会发现标志性的报错, call to undefined function Think/imagettftext 单独php探针一下,环境中的确不存在这个函数。查php手册,发现该函数需要GD和freetype支持,GD我是确认安装的,freetype没有安装,起先一度以为unbuntu下apt-get搜索到并安装一个libfreetype6-dev包就行了,可是问题依然存在,于是一段时间内竟然忽略了这个真正的原因。 最后才明确到问题的确是在freetype 上,只是我的安装freetype的方法不对。 大家如果排除了GD和bom问题,验证码依然不存在,就可以在phpinfo查看GD节区,看看是否有三行Freetype的描述(广义来说,其实这也算GD支持不完整的问题),如果没有,就应该是没有安装freetype了 解决方法如下: 先去Freetype官网http://www.freetype.org/下载源码 tar -jxvf freetpe.tar.gz cd freetype.

获取验证码

微笑、不失礼 提交于 2020-01-07 16:38:23
1.Html部分 <input type="button" id="btn" name="" class="f28 fr" value="验证码" /> 2.js部分 $(".f28").click(function () { var s = "1234567890ABCDEFGHIGKLMNOPQISTUVWSYZ" //整体字符串 var d = s.length; //字符串个数 var a = s.split("") //将一个整体字符串分割成子字符串; var q = "" //重新定义一个新变量 for (i = 0; i < 4; i++) { //进入for循环 var c = parseInt(Math.random() * d) //截取数字 q += a[c] } $(".f28").val(q); }) 这样就能点击验证码的时候就能随机进行切换了; 来源: https://www.cnblogs.com/lxc127136/p/12150608.html

ThinkPHP5实现极验滑动验证码geetest功能

孤人 提交于 2020-01-04 17:34:27
现在很多网站,比如淘宝,京东等都改用使用极验拖动验证码实现登录,这种方式比传统的验证码方式有更好的体验,减少用户输入的错误,也同样能起到防盗刷的功能。现在很多极验都是第三方的,也很多都是收费的。这里主要介绍thinkphp整合系列之极验滑动验证码geetest,官网:http://www.geetest.com 具体如下: 一:注册获取key 注册;创建应用;获取key; 二:导入sdk /ThinkPHP/Library/Org/Xb/GeetestLip.class.php(此处GeetestLip.class.php是我重新命名的geetest类文件,原名为class.geetestlib.php) 此处牵扯到thinkphp引入第三方类,我把第三方类放到Org/Util/Xb下面了,同时对该类文件加入命名空间如下,否则实例化类时找不到文件 三:生成验证样式 admin/view/public/cdtsh_log_smfyws.php <!doctype html> <html> <head> <meta charset="GBK" /> <title>网站管理系统后台</title> <script language="javascript" type="text/javascript" src="__JS__/jquery.js"></script> <link rel=

用户注册(一)之注册页面以及图形验证码

我怕爱的太早我们不能终老 提交于 2020-01-04 01:32:43
一、用户模型设计(用户表的设计)   1. 用户表字段分析     1)用户名     2)密码     3)手机号     4)邮箱     5)邮箱是否有效   2. 用户模型设计     django设计模型开发效率极高,内置了许多功能,包括权限验证等等,也有自定义的User模型。     因此我们需要继承已经写好的抽象模型类AbstractBaseUser,它有已经封装好的各种方法,约定俗成的凡是抽象模型类起名都以Abstract来开头,但是判断该模型类是否是抽象模型类的依据是,类中需要定义 class Meta: abstract = True     这才证明它是一个抽象模型类。               在我们继承了django自带的用户模型类之后,我们使用时进行扩充字段即可。   3. 在User这个app中的models.py页面来填写我们的需要的User模型类     1) 继承抽象模型类 ,添加用户新字段,重写管理器,方便我们创建用户,并制定我们的User模型使用我们自定义的管理器 # user/models.py 文件from django.db import models from django.contrib.auth.models import AbstractUser, UserManager as _UserManager # Create

【腾讯Bugly干货分享】腾讯验证码的十二年

元气小坏坏 提交于 2019-12-25 10:12:09
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 本文来自于 腾讯bugly开发者社区 ,未经作者同意,请勿转载,原文地址: http://dev.qq.com/topic/581301b146dfb1456904df8d Dev Club 是一个交流移动开发技术,结交朋友,扩展人脉的社群,成员都是经过审核的移动开发工程师。每周都会举行嘉宾分享,话题讨论等活动。 本期,我们邀请了 腾讯 TEG 安全平台部的张彦玲、陈秋滢、华珊珊三位嘉宾,为大家分享《腾讯验证码的十二年》。 内容简介: 验证码的诞生就是用来对抗自动机,但随着OCR技术的发展,腾讯验证码怎么发展让它能够有效持续对抗自动机。 以下为本期分享实录: 大家好,我是张彦玲,来自腾讯TEG安全平台部,现在负责验证码研发工作。今天还有我们两位同事:陈秋滢和华珊珊,大家有什么验证码产品和未来的问题也可以和两位同学一起探讨。 现在先由珊珊给大家分享腾讯验证码的十二年。 一、腾讯验证码的诞生 当然,鹅厂也经历过没有验证码的时代。这就得从十二年前那股疯狂的“挂太阳”热潮说起。如果是QQ老用户,那你一定记得那些年我们挂过的星星、月亮和太阳。伴随着这股热潮,网络上开始出现一种特殊服务——代挂QQ,也就是代挂团伙为有需要的用户长时间登录QQ以提升等级,这就需要用户把帐号密码给到他们。 然而,这种黑产服务导致大量密码遭到泄漏

在springmvc项目中使用kaptcha生成验证码

て烟熏妆下的殇ゞ 提交于 2019-12-17 18:07:36
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> Kaptcha验证码 下载 kaptcha-2.3.2.jar http://code.google.com/p/kaptcha/downloads/list 1.spring 配置文件 applicationContext.xml [html] <bean id="captchaProducer" class="com.google.code.kaptcha.impl.DefaultKaptcha"> <property name="config"> <bean class="com.google.code.kaptcha.util.Config"> <constructor-arg> <props> <prop key="kaptcha.border">no</prop> <prop key="kaptcha.border.color">105,179,90</prop> <prop key="kaptcha.textproducer.font.color">red</prop> <prop key="kaptcha.image.width">250</prop> <prop key="kaptcha.textproducer.font.size">80</prop> <prop key="kaptcha

java自动生成验证码插件-kaptcha

孤人 提交于 2019-12-17 17:57:48
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 今天无意间发现了一个很好用的验证码插件,java版的,很不错的一个插件,只用简单的在web.xml中设置几个属性,一个很漂亮的验证码就出来了。其他的参数都可以自己设置,最牛的就是提供了接口,可以自己定义哦。 先发个图来看看: 怎么样,还不错吧,这个图是我设置长宽后生成的,有点点大,不过没关系,这个可以自己设置的。 多大概设置了边框,字体,个数,字的大小,长,宽,中文接口等这几个属性,然后很简单的就生成了这样一个验证码,呵呵,不错,很简单。 <init-param> <param-name>kaptcha.border</param-name> <param-value>yes</param-value> </init-param> <init-param> <param-name>kaptcha.border.color</param-name> <param-value>105,179,90</param-value> </init-param> <init-param> <param-name>kaptcha.textproducer.impl</param-name> <param-value>com.randcode.ChineseText</param-value> </init-param>

PHP制作数字、字母型验证码及其工作原理剖析

╄→尐↘猪︶ㄣ 提交于 2019-12-17 17:23:00
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 准备: 使用PHP生成验证码图片,需要PHP的GD模块,GD扩展库用于处理图像。所以先去检查你的服务器使用的PHP版本是否开启GD模块,你可以使用PHP内置函数phpinfo()去检查,至于如何去做就不在这里说了,相信每个PHPer都懂的。 开启或关闭GD模块:打开PHP配置文件php.ini,找到extension=php_gd2.dll(我当前PHP版本是5.5.12,所以用的是gd2),在extension加个分号(;)代表关闭,去掉分号代表开启。 思路: 1、 生成底图(可以加上干扰点、干扰线…) 2、 生成验证码的内容(随机的,注意调整好坐标哦) 3、 保存验证码内容在服务端(通过使用session会话) 4、 验证用户输入的验证码是否与在服务端一致 步骤: (一)下面新建一个PHP文件captcha.php,就开始敲代码吧!! 1、生成底图使用到的关键函数有imagecreatetruecolor(); Imagecolorallocate(); imagefill() 实现代码: 2、生成验证码内容使用的关键函数有imagecolorallocate(); imagestring(); 实现代码: 3、生成干扰点代码如下:函数-> imagecolorallocate();