PHP 根據(jù)IP地址控制訪問的代碼
更新時間:2010年04月22日 11:13:22 作者:
有時需要根據(jù) IP 地址控制訪問,以限制或引導(dǎo)某些訪問請求。比如允許局域網(wǎng)段中的訪客正常訪問,但禁止外網(wǎng)訪問。芒果簡單介紹用 PHP 腳本實現(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.dhdzp.com/404.html');
else
header('Location: http://www.dhdzp.com/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.dhdzp.com/404.html');
else
header('Location: http://www.dhdzp.com/index.html');
?>
您可能感興趣的文章:
相關(guān)文章
PHP與jquery實時顯示網(wǎng)站在線人數(shù)實例詳解
在線人數(shù)最簡單的就是直接利用js調(diào)用php了,這樣可以顯示出有多少人訪問了本站,如果要在用戶未刷新頁面的狀態(tài)實時顯示用戶在線人數(shù),我們可以利用jquery ajax來實現(xiàn),需要的朋友可以參考下2016-12-12
PHP編寫學(xué)校網(wǎng)站上新生注冊登陸程序的實例分享
這篇文章主要介紹了使用PHP編寫學(xué)校網(wǎng)站上新生注冊登陸程序的實例分享,只包括簡單的數(shù)據(jù)庫信息錄入和查詢等步驟的一些關(guān)鍵點,需要的朋友可以參考下2016-03-03
PHP在網(wǎng)頁中動態(tài)生成PDF文件詳細(xì)教程
這篇文章主要介紹了PHP在網(wǎng)頁中動態(tài)生成PDF文件詳細(xì)教程,本文用一個需求為引,詳細(xì)介紹每一步驟的做法,并配有大量圖片說明,需要的朋友可以參考下2014-07-07
thinkphp3.2實現(xiàn)在線留言提交驗證碼功能
這篇文章主要為大家詳細(xì)介紹了TP3.2寫提交的驗證碼驗證,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-07-07
VB中的RasEnumConnections函數(shù)返回632錯誤解決方法
這篇文章主要介紹了VB中的RasEnumConnections函數(shù)返回632錯誤解決方法,使用MSDN中的例子在XP SP3系統(tǒng)上出現(xiàn)的錯誤,需要的朋友可以參考下2014-07-07

