PHP 根據(jù)IP地址控制訪問(wèn)的代碼
更新時(shí)間:2010年04月22日 11:13:22 作者:
有時(shí)需要根據(jù) IP 地址控制訪問(wèn),以限制或引導(dǎo)某些訪問(wèn)請(qǐng)求。比如允許局域網(wǎng)段中的訪客正常訪問(wèn),但禁止外網(wǎng)訪問(wèn)。芒果簡(jiǎn)單介紹用 PHP 腳本實(shí)現(xiàn)此功能的方法。
假設(shè)有 IP 地址范圍 192.168.0.0~192.168.0.255,只允許此 IP 段訪問(wèn)的代碼如下:
<?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 地址是否符合訪問(wèn)條件。符合則正常輸出頁(yè)面,反之拒絕訪問(wèn)。
據(jù)此,如果用戶 IP 地址滿足要求,只需簡(jiǎn)單輸出或包含頁(yè)面文件即可。文件包含代碼如下:
<?php
if (!($from >= 0 && $to <= 0))
echo "Access Denied";
else
include('homepage.html')";
?>
當(dāng)然,也可以按判斷結(jié)果跳轉(zhuǎn)至不同頁(yè)面。跳轉(zhuǎn)代碼如下:
<?php
if (!($from >= 0 && $to <= 0))
header('Location: http://m.fzitv.net/404.html');
else
header('Location: http://m.fzitv.net/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 地址是否符合訪問(wèn)條件。符合則正常輸出頁(yè)面,反之拒絕訪問(wèn)。
據(jù)此,如果用戶 IP 地址滿足要求,只需簡(jiǎn)單輸出或包含頁(yè)面文件即可。文件包含代碼如下:
復(fù)制代碼 代碼如下:
<?php
if (!($from >= 0 && $to <= 0))
echo "Access Denied";
else
include('homepage.html')";
?>
當(dāng)然,也可以按判斷結(jié)果跳轉(zhuǎn)至不同頁(yè)面。跳轉(zhuǎn)代碼如下:
復(fù)制代碼 代碼如下:
<?php
if (!($from >= 0 && $to <= 0))
header('Location: http://m.fzitv.net/404.html');
else
header('Location: http://m.fzitv.net/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獲取用戶訪問(wèn)IP地址的5種方法
相關(guān)文章
PHP與jquery實(shí)時(shí)顯示網(wǎng)站在線人數(shù)實(shí)例詳解
在線人數(shù)最簡(jiǎn)單的就是直接利用js調(diào)用php了,這樣可以顯示出有多少人訪問(wèn)了本站,如果要在用戶未刷新頁(yè)面的狀態(tài)實(shí)時(shí)顯示用戶在線人數(shù),我們可以利用jquery ajax來(lái)實(shí)現(xiàn),需要的朋友可以參考下2016-12-12
PHP編寫(xiě)學(xué)校網(wǎng)站上新生注冊(cè)登陸程序的實(shí)例分享
這篇文章主要介紹了使用PHP編寫(xiě)學(xué)校網(wǎng)站上新生注冊(cè)登陸程序的實(shí)例分享,只包括簡(jiǎn)單的數(shù)據(jù)庫(kù)信息錄入和查詢等步驟的一些關(guān)鍵點(diǎn),需要的朋友可以參考下2016-03-03
PHP在網(wǎng)頁(yè)中動(dòng)態(tài)生成PDF文件詳細(xì)教程
這篇文章主要介紹了PHP在網(wǎng)頁(yè)中動(dòng)態(tài)生成PDF文件詳細(xì)教程,本文用一個(gè)需求為引,詳細(xì)介紹每一步驟的做法,并配有大量圖片說(shuō)明,需要的朋友可以參考下2014-07-07
thinkphp3.2實(shí)現(xiàn)在線留言提交驗(yàn)證碼功能
這篇文章主要為大家詳細(xì)介紹了TP3.2寫(xiě)提交的驗(yàn)證碼驗(yàn)證,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07
VB中的RasEnumConnections函數(shù)返回632錯(cuò)誤解決方法
這篇文章主要介紹了VB中的RasEnumConnections函數(shù)返回632錯(cuò)誤解決方法,使用MSDN中的例子在XP SP3系統(tǒng)上出現(xiàn)的錯(cuò)誤,需要的朋友可以參考下2014-07-07

