用CI框架做项目的时候有些时候难免需要验证码,因此特地去官方论坛上搜了一个验证码类Authcode,由于有些改动,就先放在附件中。

将这个类放在application下,其实这个类还是非常完善的,可以设定字符数目,删除线,杂点之类,甚至还能自定义字体,使用一般输出图片或者选择js输出……由于该类使用的session是CI内部的session,之前要先加载CI的session类。

因此先在controllers下建立一个validation的控制器用来生成验证码图片

<?php class Validation extends Controller{ function __construct(){ parent::Controller(); //加载验证码类 $this->load->library(‘authcode’); } function show(){ $this->authcode->show(); } function script(){ $this->authcode->showScript(); } function check(){ //调用authcode类中的check方法 判断验证码输入是否正确,ajax回传… if ($this->authcode->check(strtolower($this->uri->segment(3)))) { echo 1;//成功 } else { echo 2; } } } ?>

在views下建立一个视图 register,直接显示控制器Validation中的script方法.

附件下载:Authcode CI验证码类

Nginx 自动禁止爬虫IP采集

### 背景最近我们有一个公开服务提供给客户查询关键词的热度值,由于这个API做在官方网站上,自然没有用户登陆,也没有很高查询成本,所以设计上没有任何鉴权无法进行身份认定,于是就被一个爬虫开了超高并发请求,直接后端的AWS Tomcat CPU被用尽,导致无法响应。爬虫显然...… Continue reading

Redis原子性事务Lua应用

Published on June 28, 2020