Yii2中限制访问某控制器的IP(IP白名单)
有關(guān)Yii2.0鑒權(quán)之訪問(wèn)控制過(guò)濾器參考這篇文章 ?http://www.yiiframework.com/doc-2.0/guide-security-authorization.html
這里主要說(shuō)下怎么在控制器中限制訪問(wèn)的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'],//這里填寫(xiě)允許訪問(wèn)的IP'allow' => true,],],];}// ... }?
訪問(wèn)規(guī)則支持很多選項(xiàng),下面是一些簡(jiǎn)要說(shuō)明,你也可以通過(guò)擴(kuò)展yii\filters\AccessRule來(lái)創(chuàng)建你自己的訪問(wèn)規(guī)則類(lèi):
-
allow:指定這是一條允許(allow)還是拒絕(deny)規(guī)則。
-
actions:這條規(guī)則匹配那些動(dòng)作(action)。是一個(gè)動(dòng)作ID的數(shù)組,區(qū)分大小寫(xiě),假如這個(gè)選項(xiàng)設(shè)置為空或者不設(shè)置,那么這條規(guī)則適用于所有動(dòng)作(action)。
-
controllers:指定這條規(guī)則適用于那些控制器(controller)。值是控制器ID數(shù)組,區(qū)分大小寫(xiě),設(shè)置為空或者不設(shè)置,意味著適用于所有控制器(controller)。
-
roles:指定這條規(guī)則適用于那些用戶角色。有兩個(gè)認(rèn)可的特殊角色,都是通過(guò)yii\web\User::$isGuest來(lái)檢查。?:匹配游客(未認(rèn)證用戶),@:匹配已認(rèn)證的用戶,未設(shè)置或設(shè)為空,則匹配所有角色。
-
ips:匹配那些客戶端IP。ip地址可以使用通配符(*),比如:192.168.*。為設(shè)置或設(shè)為空則匹配所有IP。
-
verbs:匹配那些請(qǐng)求方式(如:GET,POST)。區(qū)分大小寫(xiě)。
-
matchCallback:指定一個(gè)PHP回調(diào),以確定應(yīng)用該規(guī)則。
-
denyCallback:PHP回調(diào),當(dāng)規(guī)則禁止訪問(wèn)的時(shí)候會(huì)被調(diào)用。
轉(zhuǎn)載于:https://www.cnblogs.com/Steven-shi/p/6951986.html
總結(jié)
以上是生活随笔為你收集整理的Yii2中限制访问某控制器的IP(IP白名单)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: [YTU]_2625( 构造函数和析构函
- 下一篇: java.lang.NoClassDef