国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 大田县| 五莲县| 麻栗坡县| 罗甸县| 湘潭县| 上林县| 沙河市| 昌宁县| 读书| 二连浩特市| 许昌县| 织金县| 盘锦市| 靖江市| 克山县| 肃宁县| 大姚县| 青阳县| 广德县| 延长县| 尉氏县| 新晃| 建平县| 岳西县| 潼南县| 壤塘县| 温州市| 盐山县| 安溪县| 资源县| 大悟县| 郯城县| 象山县| 崇文区| 沙坪坝区| 兴安县| 巩留县| 密山市| 宁武县| 吕梁市| 望都县|