2012-08-25 120 views
1

我正在構建一個小應用程序,需要在一個地方運行。 所以需要限制對該文件的訪問權限僅限於該WiFi網絡。 在這段代碼中,我使用IP來達到目的,但我並不認爲這是最佳實踐,因爲IP可以改變。限制訪問只有一個WiFi網絡

<?php 
$externalIP = $_SERVER['REMOTE_ADDR']; 
if($externalIP=="KNOWN IP") echo"YOU HAVE ACCESS"; 
else echo"YOU DON'T HAVE ACCESS"; 
?> 
+3

這可能更好地控制您的Web服務器。例如,在Apache .htaccess中:'拒絕命令,允許從<允許的IP>拒絕所有' –

回答

1

如果您使用的是普通路由器,那麼您最有可能擁有一個以192.168.1.xxx開頭的本地IP網絡。這意味着理論上你有200多個可用的IP(這可能會受到你的路由器的限制)。現在,如果你的服務器連接在同一個網絡上,那麼你的解決方案並不壞。 然後你可以做的是提取IP地址中的最後三位數字,並檢查它們是否在允許的IP地址範圍內。當然,您還需要檢查三個第一個字段是否正確。

如果另一方面服務器不在同一網絡上,那麼它會變得更加棘手,因爲那樣你就無法知道客戶端是否在無線網絡上。

大多數路由器都可以通過一個基於web的接口進行配置,如果路由器不是完全的sh * t,你將能夠看到並設置wifi ip的範圍(這是路由器通過DHCP分配的地址) 。

+0

謝謝,它幫助了很多! –