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

本文介绍了如何在Yii 2.0框架中使用AccessControl类实现控制器级别的IP访问限制,通过配置`AccessControl`的行为,详细说明了规则的编写和参数如`ips`的使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 有关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回调,当规则禁止访问的时候会被调用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值