搜索
首页php教程php手册Auth权限认证暴力来袭,有图有码有种子,绝对暴力!

Auth权限认证暴力来袭,有图有码有种子,绝对暴力!
auth的相关介绍说明,官方网站上已经有很多相关文章了,我就不再重复啰嗦了.在这里,我直接上demo以及简要的说下注意事项及一点点建议.废话不多说,直接进入主题.

一、auth认证原理
auth类通过认证用户uid所在的角色组是否拥有对应的权限.如图所示
Auth权限认证暴力来袭,有图有码有种子,绝对暴力!
二、准备工作

1、建表(主要对新增的字段或表作说明,如没有改变过的表,这里不做说明)

1) tk_auth_group 用户组
CREATE TABLE `tk_auth_group` (<br>               `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,<br>               `title` char(100) NOT NULL DEFAULT '',<br>               `status` tinyint(1) NOT NULL DEFAULT '1',<br>               `rules` char(80) NOT NULL DEFAULT '',<br>               `describe` char(50) NOT NULL DEFAULT '',    #新增,对用户组作简单的说明<br>               PRIMARY KEY (`id`)<br>             ) ENGINE=MyISAM DEFAULT CHARSET=utf8; 2) tk_auth_rule 规则表
CREATE TABLE `tk_auth_rule` (<br>               `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,<br>               `name` char(80) NOT NULL DEFAULT '',<br>               `title` char(20) NOT NULL DEFAULT '',<br>               `type` tinyint(1) NOT NULL DEFAULT '1',<br>               `status` tinyint(1) NOT NULL DEFAULT '1',<br>               `condition` char(100) NOT NULL DEFAULT '',<br>               `mid` tinyint(3) unsigned NOT NULL DEFAULT '0',    #新增,外键,和tk_modules的id对应,对规则分类处理,方便管理<br>               PRIMARY KEY (`id`),<br>               UNIQUE KEY `name` (`name`)<br>             ) ENGINE=MyISAM DEFAULT CHARSET=utf8; 3) tk_modules 模块表
CREATE TABLE `tk_modules` (<br>               `id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT,    <br>               `moduleName` varchar(20) NOT NULL DEFAULT '',    #模块名称<br>               PRIMARY KEY (`id`)<br>             ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 4) tk_members 用户表
CREATE TABLE `tk_members` (<br>               `uid` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,<br>               `username` varchar(20) NOT NULL DEFAULT '',<br>               `password` char(32) NOT NULL DEFAULT '',<br>               `score` mediumint(8) unsigned NOT NULL,    #用户积分<br>               PRIMARY KEY (`uid`)<br>             ) ENGINE=MyISAM  DEFAULT CHARSET=utf8; 2、配置文件

1) 数据库项配置(本人采用的是pdo方式,如果你的环境不支持pdo,则手动改为其它方式)
//数据库配置<br>             //pdo类型,采用dsn方式连接<br>             'DB_TYPE'=>'pdo',<br>             'DB_USER'=>'root',<br>             'DB_PWD'=>'123456',<br>             'DB_PREFIX'=>'tk_',<br>             'DB_PORT'=>'3306',<br>             'DB_DSN'=>'mysql:host=localhost;dbname=auth;charset=utf8', 2) 角色组设置,设置超级管理员组,直接跳过认证
 //超级管理员id,拥有全部权限,只要用户uid在这个角色组里的,就跳出认证.可以设置多个值,如array('1','2','3')<br>             'ADMINISTRATOR'=>array('1'), 3、注意事项

1)运行环境:要求php版本5.3以上

2)对原auth类作了小小的改动.原文件155行左右
$user_groups = M()<br>                 ->table($this->_config['AUTH_GROUP_ACCESS'] . ' a')<br>                 ->where("a.uid='$uid' and g.status='1'")<br>                 ->join($this->_config['AUTH_GROUP']." g on a.group_id=g.id")<br>                 ->field('id,rules')->select(); //原field方法的参数为field('rules'),增加id主要是获取用户组的id,便于验证超级管理员.<br>             $groups[$uid]=$user_groups?:array(); 建议官方在下次更新能添加id,或增加一个参数,便于用户灵活设置

三、安装说明
使用说明请看压缩包的readme.md文件.另外代码我都作了详细的说明,大家一看就懂.下面上几张暴力图.免得有人说:You say a JB without pictures!
Auth权限认证暴力来袭,有图有码有种子,绝对暴力!
Auth权限认证暴力来袭,有图有码有种子,绝对暴力!
Auth权限认证暴力来袭,有图有码有种子,绝对暴力!
Auth权限认证暴力来袭,有图有码有种子,绝对暴力!
Auth权限认证暴力来袭,有图有码有种子,绝对暴力!

四、结语
本demo提供给大家互相学习,希望通过它对auth认证有一个全面的了解.其实基于tp使用auth权限认证没有那么复杂,那么难.希望通过能在此基础上扩展出再多的功能来.

补充:
用户密码都是admin

附件 auth.zip ( 1.26 MB 下载:3194 次 )

AD:真正免费,域名+虚机+企业邮箱=0元

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用