## 1. 生成令牌
你可以在`app\common.php` 中添加生成令牌的方法:
~~~
/**
* 生成令牌
*/
function shopToken()
{
$data = request()->buildToken('__token__', 'sha1');
return '<input type="hidden" name="__token__" value="' . $data . '" class="token">';
}
~~~
## 2. 在模板表单中使用:
~~~
<div class="layui-form-item">
{:shopToken()}
</div>
~~~
## 3. 控制器验证
~~~
namespace app\controller;
use think\exception\ValidateException;
use app\BaseController;
class Index extends BaseController
{
public function index(Request $request)
{
$check = $this->request->checkToken('__token__', $this->request->param());
if (false === $check) {
throw new ValidateException('invalid token');
}
// ...
}
}
~~~
- ThinkPHP6 安装与更新
- PHP编码规范-保障团队代码风格一致
- 通用化API数据格式-简单事情极致化
- 健壮系统服务-杜绝无效请求
- 健壮系统服务-不可预知得内部异常处理
- 健壮系统服务-变量全局过滤
- 健壮系统服务-令牌Token统一生成与验证
- 集成JWT-实现token用户身份验证机制
- 敏感数据签名-集成SHA512withRSA算法签名
- API多版本控制
- 全站静态化
- 扩展类库的使用(extend)
- 开发自己的Composer扩展包
- 自定义命令行实现定时任务
- redis篇
- 集成redis-高速数据缓存
- redis分布式锁-解决缓存穿透,缓存击穿
- redis缓存雪崩解决方案
- redis数据队列-抗住高并发写
- redis限流-控制用户访问频率
- 集成swagger,自动生成接口文档
- 集成Oauth2.0 - 密码模式
- 服务分流-提升吞吐率, 提升请求性能
- Nginx 防止域名被恶意解析
- Nginx post请求大小限制
- mysql数据库备份
- 数据库全量备份-建议一周或者三天进行一次全量备份
- 数据库增量备份-一天一次增量备份
- 阿里云.idb文件单表恢复
- Git初始化
- Git简易的命令行入门教程
- webhook自动部署
- PHP源码保护和性能加速
- think-swoole 拥抱swoole的高性能
- 全站HTTPS安全访问