我正在构建一个只需要在一个地方运行的小应用程序。所以需要限制对文件的访问仅限于该 wifi 网络。在这段代码中,我使用 IP 来达到目的,但我并不认为这是最佳实践,因为 IP 可以改变。
<?php
$externalIP = $_SERVER['REMOTE_ADDR'];
if($externalIP=="KNOWN IP") echo"YOU HAVE ACCESS";
else echo"YOU DON'T HAVE ACCESS";
?>
如果您使用的是普通路由器,您很可能有一个本地 IP 以 192.168.1.xxx 开头的网络。这意味着理论上您有 200 多个可用 IP(这可能受您的路由器限制,数量较少)。现在,如果您的服务器连接在同一网络上,那么您的解决方案还不错。然后,您可以做的是提取 IP 地址中的最后三位数字,并检查它们是否在允许的 IP 地址范围内。当然,您仍然必须检查前三个字段是否正确。
另一方面,如果服务器不在同一个网络上,那么它会变得更加棘手,因为你无法知道客户端是否在 wifi 上。
大多数路由器都可以通过基于 Web 的界面进行配置,如果路由器不完全关闭,您将能够查看和设置 wifi ip 的范围(即路由器将通过 DHCP 分配的地址)。