Yii2中限制访问某个控制器的IP(IP白名单)

关于Yii2.0鉴权之访问控制过滤器参考这首文章 http://www.yiiframework.com/doc-2.0/guide-security-authorization.html

此紧要说下怎么在控制器中限制访问的IP:

use yii\web\Controller;
use yii\filters\AccessControl;

class SiteController extends Controller
{
    public function behaviors()
    {
        return [
            'access' => [
                'class' => AccessControl::className(),
                'only' => ['login', 'logout', 'signup'],
               'rules' => [
                    [
                        'ips' => [ '127.0.0.1'],//这里填写允许访问的IP
                         'allow' => true,
                    ],
            ],
        ];
    }
    // ...
}                                    

 

访规则补助广大增选,下边是一对略表达,你也可透过扩充yii\filters\AccessRule来成立而协调的拜会规则类似:

  • allow:指定这是一模一样漫漫允许(allow)仍然驳回(deny)规则。

  • actions:这长达规则匹配这个动作(action)。是一个动作ID的往往组,区分轻重缓急写,假诺是选项设置为空或无设置,那么这条规则适用于所有动作(action)。

  • controllers:指定那条规则适用于这么些控制器(controller)。值是控制器ID数组,区分轻重缓急写,设置也空或不设置,意味着适用于所有控制器(controller)。

  • roles:指定这长长的规则适用于那多少个用户角色。有少数个认同的非凡角色,都是经yii\web\User::$isGuest来检查。?:匹配旅客(未表明用户),@:匹配已声明的用户,未设置或使为空,则匹配有角色。

  • ips:匹配那一个客户端IP。ip地址可以应用通配符(*),比如:192.168.*。为安或只要为空则匹配有IP。

  • verbs:匹配那一个呼吁模式(如:GET,POST)。区分轻重缓急写。

  • matchCallback:指定一个PHP回调,以确定以该规则。

  • denyCallback:PHP回调,当规则禁止访问的早晚会叫调用。

相关文章