2012-08-25 117 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

谢谢,它帮助了很多! –