2010-11-16 131 views
1

我正在製作一個吸引我學校學生的網站。如果用戶在校園wifi或硬件線路上,我只想允許訪問。使用PHP,如何限制訪問我確定在校園互聯網上的人員?只允許來自特定網絡的網站訪問

回答

2

您需要獲取一系列IP地址並將它們放在一個時間列表中。然後你可以使用$ _SERVER ['REMOTE_ADDR']變量來檢查白名單的訪問權限。這樣做在頁面的開頭是這樣的:

if(in_array($_SERVER['REMOTE_ADDR'],$white_list)) { 
    //allow execution code? 
} else { 
    exit; 
} 
+0

@Eric:別忘了讓它成爲一個函數,否則,你會在允許腳本上花費很多時間。 – Shikiryu 2010-11-16 16:36:38

1

這在網絡服務器配置,這有也工作了圖像的優勢通常做,但在理論上,你可以把

if ($_SERVER['REMOTE_ADDR'] != '...') 
    die(); 

在您的每個PHP頁面中。

0

首先,您需要從學校的網絡管理員那裏獲得IP的範圍。 然後從PHP:

$ip=$_SERVER['REMOTE_ADDR']; 
if(inRange($ip)) die(); 
else { .... 

現在寫INRANGE($ IP)功能,如果給定的IP範圍爲返回true。你可以使用爆炸函數來獲取更多的IP來比較.. :)

0

它已經被提及,但'正確'的方法是在你的web服務器的設置中指定IP範圍(IOW,不要用PHP做)