国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

php用于實(shí)現(xiàn)黑白名單的實(shí)用函數(shù)

2020-03-24 18:56:16
字體:
供稿:網(wǎng)友
本文給大家分享了2個(gè)php用于實(shí)現(xiàn)黑白名單的實(shí)用函數(shù),分別是安全I(xiàn)P檢測(cè)函數(shù)和獲取客戶端IP函數(shù),注釋里解釋的非常清楚,這里我就不多廢話了。

這個(gè)是一個(gè)檢測(cè)ip是否非法的php函數(shù),適應(yīng)于白名單,黑名單功能開發(fā),主要場(chǎng)景應(yīng)用于:api來源限制,訪問限制等.

代碼如下:

/** * 安全I(xiàn)P檢測(cè),支持IP段檢測(cè) * @param string $ip 要檢測(cè)的IP * @param string|array $ips 白名單IP或者黑名單IP * @return boolean true 在白名單或者黑名單中,否則不在function is_safe_ip($ip= ,$ips= ){  if(!$ip) $ip = get_client_ip(); //獲取客戶端IP if($ips){ if(is_string($ips)){ //ip用 , 例如白名單IP:192.168.1.13,123.23.23.44,193.134.*.* $ips = explode( , , $ips); }else{ //讀取后臺(tái)配置 白名單IP $obj = new Setting(); $ips = explode( , , $obj- getConfig( whiteip ));  if(in_array($ip, $ips)){ return true; $ipregexp = implode( | , str_replace( array( * , . ), array( /d+ , /. ) ,$ips));  $rs = preg_match( /^( .$ipregexp. )$/ , $ip);  if($rs) return true; return ;}

獲取ip地址,這里引用thinkphp內(nèi)置函數(shù)

代碼如下:

//應(yīng)網(wǎng)友要求,貼出 get_client_ip() 函數(shù) * 獲取客戶端IP地址 * @param integer $type 返回類型 0 返回IP地址 1 返回IPV4地址數(shù)字 * @param boolean $adv 是否進(jìn)行高級(jí)模式獲取(有可能被偽裝)  * @return mixedfunction get_client_ip($type = 0,$adv=false) { $type = $type ? 1 : 0; html' target='_blank'>static $ip = NULL; if ($ip !== NULL) return $ip[$type]; if($adv){ if (isset($_SERVER[ HTTP_X_FORWARDED_FOR ])) { $arr = explode( , , $_SERVER[ HTTP_X_FORWARDED_FOR  $pos = array_search( unknown ,$arr); if(false !== $pos) unset($arr[$pos]); $ip = trim($arr[0]); }elseif (isset($_SERVER[ HTTP_CLIENT_IP ])) { $ip = $_SERVER[ HTTP_CLIENT_IP  }elseif (isset($_SERVER[ REMOTE_ADDR ])) { $ip = $_SERVER[ REMOTE_ADDR  }elseif (isset($_SERVER[ REMOTE_ADDR ])) { $ip = $_SERVER[ REMOTE_ADDR  // IP地址合法驗(yàn)證 $long = sprintf( %u ,ip2long($ip)); $ip = $long ? array($ip, $long) : array( 0.0.0.0 , 0); return $ip[$type];}

總結(jié):以上就是本篇文的全部?jī)?nèi)容,希望能對(duì)大家的學(xué)習(xí)有所幫助。

相關(guān)推薦:

PHP中流的基本知識(shí)

PHP輸出緩沖的簡(jiǎn)介及作用

php基于socket實(shí)現(xiàn)UDP通信的方法

以上就是php用于實(shí)現(xiàn)黑白名單的實(shí)用函數(shù)的詳細(xì)內(nèi)容,PHP教程

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 文安县| 柯坪县| 滦南县| 临武县| 葫芦岛市| 连南| 阿图什市| 宝清县| 古浪县| 宜黄县| 闻喜县| 阳新县| 额敏县| 成安县| 建湖县| 东山县| 浙江省| 九龙城区| 铜山县| 城步| 郑州市| 鄂尔多斯市| 西昌市| 临澧县| 科技| 英山县| 昭苏县| 台南县| 马公市| 宜兰县| 房产| 定结县| 永福县| 江北区| 湾仔区| 台州市| 万盛区| 喜德县| 岐山县| 康平县| 邹平县|