《shop》 --- 禁止FQ访问

我们只是设置了用户可以显示的权限,但是并没有限制用户访问一些其不具备的权限,这样会出现访问漏洞

① 用户会不小心越权访问其他权限。

② 再者也可以通过手动输入控制器、操作方法路由信息进而访问本身一些不存在的权限

以上越权访问非法权限的过程就是“FQ访问”。

解决FQ访问:

对用户访问的每个操作方法都设置过滤功能,被访问的方法必须是用户拥有的权限方法才允许访问。

为了避免开发重复的代码该访问过滤功能要在父类的__construct()构造方法里边实现

这个父类又不能是Controller,这样我们自己开发维护一个AdminController

 

给后台普通控制器制作一个新父类(文件)

后台所有控制器都继承新父类AdminController

现在后台全部控制器都继承AdminController

后台控制器的操作方法执行的时候,都会自动调用AdminController的构造方法__construct执行,那么为了一劳永逸、避免编写重复代码,就把用户访问权限控制设置在AdminController的构造方法__construct()里边即可。

 

具体权限限制的步骤:

原文地址:https://www.cnblogs.com/dh2608/p/5527177.html