thinkphp6 是thinkphp发布的最新的web框架,同时也算是国内比较出名的开源框架。简洁、清晰的目录结构,摒弃了thinkphp3.x 为人诟病的点,整体框架的风格,也更加接近laravel。下面我将会更新一系列的文章,来讲述tp6框架开始使用中的小技巧。今天要讲的就是,如何在tp6中使用图形验证码。
图形验证码,是我们开发登录功能时,必不可少的功能。它可以提高系统的安全性,防止机器去模拟注册、登录等对系统造成无法弥补的损失。虽然现在很多的 OCR 功能可以识别图形验证码,市面上也多了很多像 12306 那种变态的图片点击的验证码。
但是拥有混淆线条的验证码,还是具有它的优势。它简单、易于实现、相对的比较安全。我曾经用过付费的以及开源的OCR服务去识别过这些带混淆的图形验证码,几乎是无法正确识别的。因此,图形验证码还是可以使用的。
说了这么多,我们进入主题,如何在tp6 中使用图形验证码呢?
1、thinkphp6 采用的是模块化的组件方案,因此我们想使用图形验证码,首先要安装验证码的依赖
composer require topthink/think-captcha
安装好依赖之后,由于我们是在web项目中使用图形验证码,因此,我们还需要让tp6支持模板引擎的渲染。(此处我们采用传统的MVC架构而不是前后端分离的方案)。我们再安装 view 模块组件,这也是tp6 区别于以往的所有的thinkphp框架的点,他默认是不支持模板渲染的。
composer require topthink/think-view
准备好这一切之后,我们现在开始新建控制器和页面,来演示具体的使用方法。
2、新建控制器 Index.php 在index模块下,具体的路径 app/index/controller/Index.php
<?phpnamespace appindexcontroller;use appBaseController;use thinkfacadeView;class Index extends BaseController{ public function index() { return View::fetch(); }}
此处我们用View 这个门面函数去渲染模板。
3、新建模板,去显示验证码 app/index/view/index/index.html
图形验证码
我们通过 图形验证码插件提供的助手函数 captcha_src() 便可以直接得到验证码图形的url,放在img标签中便可以直接显示出图形验证码了。
访问 index 这个控制器方法,边可见如下的页面