zoukankan      html  css  js  c++  java
  • Yii2中限制访问某控制器的IP(IP白名单)

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

    这里主要说下怎么在控制器中限制访问的IP:

    use yiiwebController;
    use yiifiltersAccessControl;
    
    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,
                        ],
                ],
            ];
        }
        // ...
    }                                    

    访问规则支持很多选项,下面是一些简要说明,你也可以通过扩展yiifiltersAccessRule来创建你自己的访问规则类:

    • allow:指定这是一条允许(allow)还是拒绝(deny)规则。

    • actions:这条规则匹配那些动作(action)。是一个动作ID的数组,区分大小写,假如这个选项设置为空或者不设置,那么这条规则适用于所有动作(action)。

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

    • roles:指定这条规则适用于那些用户角色。有两个认可的特殊角色,都是通过yiiwebUser::$isGuest来检查。?:匹配游客(未认证用户),@:匹配已认证的用户,未设置或设为空,则匹配所有角色。

    • ips:匹配那些客户端IP。ip地址可以使用通配符(*),比如:192.168.*。为设置或设为空则匹配所有IP。

    • verbs:匹配那些请求方式(如:GET,POST)。区分大小写。

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

    • denyCallback:PHP回调,当规则禁止访问的时候会被调用。

  • 相关阅读:
    浏览器的渲染与小优化
    css3 贝塞尔曲线理解
    mac下配置汇编环境
    报错 net::ERR_CONTENT_LENGTH_MISMATCH 200 (OK)
    vue中使用iframe,加载完成的onload事件偶尔不触发
    nrm的使用
    js原生实现元素跟随鼠标拖动
    webpack多页面打包笔记
    关于React的组件优化笔记
    React生成器
  • 原文地址:https://www.cnblogs.com/Steven-shi/p/6951986.html
Copyright © 2011-2022 走看看