我有一个网站托管在本地服务器在我的局域网网络。此服务器通过路由器的端口转发在外部公开。我想知道客户端是从局域网之外还是在局域网内连接
发布于 2016-02-26 13:31:47
对已转发端口的服务器的任何请求似乎都来自执行端口转发的设备的IP地址。
所以你只需要测试:
if ($_SERVER['REMOTE_ADDR'] == $the_ip_address_of_the_router_on_the_lan)其中$the_ip_address_of_the_router_on_the_lan是一个已知值,如192.168.0.1。
局域网上的设备,假设它们直接访问您的服务器,将发出似乎来自它们自己的LAN IP地址的请求。
警告:如果使用主机名(如foo.example.com)访问服务器,并且在局域网内外使用相同的主机名,并且在局域网内使用主机名指向面向路由器ip地址的Internet的DNS,则请求仍将由路由器转发。
https://stackoverflow.com/questions/35652638
复制相似问题