ThinkSSL🔒 一键申购 5分钟快速签发 30天无理由退款 购买更放心 广告
请到git中下载后台的模板。 * * * * * 同样使用了bootstrap做后台,这样手机端也可以同时使用。 安装验证码控件。 composer require topthink/think-captcha 验证码配置 然后在应用配置文件中添加验证码的配置参数 * * * * * 'captcha' => [ // 验证码字符集合 'codeSet' => '2345678abcdefhijkmnpqrstuvwxyzABCDEFGHJKLMNPQRTUVWXY', // 验证码字体大小(px) 'fontSize' => 25, // 是否画混淆曲线 'useCurve' => true, // 验证码图片高度 'imageH' => 30, // 验证码图片宽度 'imageW' => 100, // 验证码位数 'length' => 5, // 验证成功后是否重置 'reset' => true ], * * * * * 并且确保开启了URL路由。 验证码显示 * * * * * <div>{:captcha_img()}</div> * * * * * 或者 * * * * * `<Div>< Img src= " {:captcha_src()} " alt="captcha" onclick="this.src=this.src+'?'+Math.random()" ></Div>` * * * * * 上面两种的最终效果是一样的,根据需要调用即可。 控制器验证 使用TP5的内置验证功能,添加captcha验证规则即可 * * * * * $this->validate($data,[ 'captcha|验证码'=>'require|captcha' ]); * * * * * 或者手动验证 * * * * * if(!captcha_check($captcha)){ //验证失败 }; * * * * * 我们再引入权限管理的相关表: ~~~ -- ---------------------------- -- Table structure for auth_group -- ---------------------------- DROP TABLE IF EXISTS `auth_group`; CREATE TABLE `auth_group` ( `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, `title` char(100) NOT NULL DEFAULT '', `status` tinyint(1) NOT NULL DEFAULT '1', `rules` char(80) NOT NULL DEFAULT '', PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='用户组表'; -- ---------------------------- -- Records of auth_group -- ---------------------------- INSERT INTO `auth_group` VALUES ('1', '管理组', '1', '1,2'); -- ---------------------------- -- Table structure for auth_group_access -- ---------------------------- DROP TABLE IF EXISTS `auth_group_access`; CREATE TABLE `auth_group_access` ( `uid` mediumint(8) unsigned NOT NULL COMMENT '用户id', `group_id` mediumint(8) unsigned NOT NULL COMMENT '用户组id', UNIQUE KEY `uid_group_id` (`uid`,`group_id`), KEY `uid` (`uid`), KEY `group_id` (`group_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='用户组明细表'; -- ---------------------------- -- Records of auth_group_access -- ---------------------------- INSERT INTO `auth_group_access` VALUES ('1', '1'); INSERT INTO `auth_group_access` VALUES ('1', '2'); -- ---------------------------- -- Table structure for auth_rule -- ---------------------------- DROP TABLE IF EXISTS `auth_rule`; CREATE TABLE `auth_rule` ( `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, `name` char(80) NOT NULL DEFAULT '' COMMENT '规则唯一标识', `title` char(20) NOT NULL DEFAULT '' COMMENT '规则中文名称', `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态:为1正常,为0禁用', `type` char(80) NOT NULL, `condition` char(100) NOT NULL DEFAULT '' COMMENT '规则表达式,为空表示存在就验证,不为空表示按照条件验证', PRIMARY KEY (`id`), UNIQUE KEY `name` (`name`) ) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COMMENT='规则表'; -- ---------------------------- -- Records of auth_rule -- ---------------------------- INSERT INTO `auth_rule` VALUES ('1', 'Home/index', '列表', '1', 'Home', ''); INSERT INTO `auth_rule` VALUES ('2', 'Home/add', '添加', '1', 'Home', ''); INSERT INTO `auth_rule` VALUES ('3', 'Home/edit', '编辑', '1', 'Home', ''); INSERT INTO `auth_rule` VALUES ('4', 'Home/delete', '删除', '1', 'Home', ''); DROP TABLE IF EXISTS `user`; CREATE TABLE `user` ( `id` int(11) NOT NULL, `username` varchar(30) DEFAULT NULL, `password` varchar(32) DEFAULT NULL, `age` tinyint(2) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- ---------------------------- -- Records of user -- ---------------------------- INSERT INTO `user` VALUES ('1', 'admin', '21232f297a57a5a743894a0e4a801fc3', '25'); ~~~ http://www.bootcdn.cn/ 加速库