PHP 根據(jù)IP地址控制訪問的代碼
更新時(shí)間:2010年04月22日 11:13:22 作者:
有時(shí)需要根據(jù) IP 地址控制訪問,以限制或引導(dǎo)某些訪問請求。比如允許局域網(wǎng)段中的訪客正常訪問,但禁止外網(wǎng)訪問。芒果簡單介紹用 PHP 腳本實(shí)現(xiàn)此功能的方法。
假設(shè)有 IP 地址范圍 192.168.0.0~192.168.0.255,只允許此 IP 段訪問的代碼如下:
<?php
$IP = $_SERVER['REMOTE_ADDR'];
$from = strcmp($IP,'192.168.0.0');
$to = strcmp($IP,'192.168.0.255');
if (!($from >= 0 && $to <= 0))
echo "Access Denied";
else
echo "Homepage";
?>
從流程上講,這段代碼首先捕獲訪客 IP 地址,然后判斷該 IP 地址是否符合訪問條件。符合則正常輸出頁面,反之拒絕訪問。
據(jù)此,如果用戶 IP 地址滿足要求,只需簡單輸出或包含頁面文件即可。文件包含代碼如下:
<?php
if (!($from >= 0 && $to <= 0))
echo "Access Denied";
else
include('homepage.html')";
?>
當(dāng)然,也可以按判斷結(jié)果跳轉(zhuǎn)至不同頁面。跳轉(zhuǎn)代碼如下:
<?php
if (!($from >= 0 && $to <= 0))
header('Location: http://www.dbjr.com.cn/404.html');
else
header('Location: http://www.dbjr.com.cn/index.html');
?>
復(fù)制代碼 代碼如下:
<?php
$IP = $_SERVER['REMOTE_ADDR'];
$from = strcmp($IP,'192.168.0.0');
$to = strcmp($IP,'192.168.0.255');
if (!($from >= 0 && $to <= 0))
echo "Access Denied";
else
echo "Homepage";
?>
從流程上講,這段代碼首先捕獲訪客 IP 地址,然后判斷該 IP 地址是否符合訪問條件。符合則正常輸出頁面,反之拒絕訪問。
據(jù)此,如果用戶 IP 地址滿足要求,只需簡單輸出或包含頁面文件即可。文件包含代碼如下:
復(fù)制代碼 代碼如下:
<?php
if (!($from >= 0 && $to <= 0))
echo "Access Denied";
else
include('homepage.html')";
?>
當(dāng)然,也可以按判斷結(jié)果跳轉(zhuǎn)至不同頁面。跳轉(zhuǎn)代碼如下:
復(fù)制代碼 代碼如下:
<?php
if (!($from >= 0 && $to <= 0))
header('Location: http://www.dbjr.com.cn/404.html');
else
header('Location: http://www.dbjr.com.cn/index.html');
?>
您可能感興趣的文章:
- php gethostbyname獲取域名ip地址函數(shù)詳解
- php下獲取客戶端ip地址的函數(shù)
- PHP 獲取客戶端真實(shí)IP地址多種方法小結(jié)
- php中獲取遠(yuǎn)程客戶端的真實(shí)ip地址的方法
- PHP中根據(jù)IP地址判斷城市實(shí)現(xiàn)城市切換或跳轉(zhuǎn)代碼
- php獲得用戶ip地址的比較不錯(cuò)的方法
- php實(shí)現(xiàn)獲取局域網(wǎng)所有用戶的電腦IP和主機(jī)名、及mac地址完整實(shí)例
- PHP中IP地址與整型數(shù)字互相轉(zhuǎn)換詳解
- PHP準(zhǔn)確取得服務(wù)器IP地址的方法
- PHP獲取用戶訪問IP地址的5種方法
相關(guān)文章
如何解決PHP使用mysql_query查詢超大結(jié)果集超內(nèi)存問題
這篇文章主要介紹了如何解決PHP使用mysql_query查詢超大結(jié)果集超內(nèi)存問題 的相關(guān)資料,需要的朋友可以參考下2016-03-03form表單傳遞數(shù)組數(shù)據(jù)、php腳本接收的實(shí)例
下面小編就為大家?guī)硪黄猣orm表單傳遞數(shù)組數(shù)據(jù)、php腳本接收的實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-02-02Laravel中validation驗(yàn)證 返回中文提示 全局設(shè)置的方法
今天小編就為大家分享一篇Laravel中validation驗(yàn)證 返回中文提示 全局設(shè)置的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09thinkPHP5實(shí)現(xiàn)數(shù)據(jù)庫添加內(nèi)容的方法
這篇文章主要介紹了thinkPHP5實(shí)現(xiàn)數(shù)據(jù)庫添加內(nèi)容的方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了thinkPHP5數(shù)據(jù)庫的配置、模型、控制器的使用及數(shù)據(jù)插入相關(guān)操作技巧,需要的朋友可以參考下2017-10-10