Javascript/PHP - 查找客户端是否在同一网络中

标签 javascript php lan

我在 LAN 网络的本地服务器上托管了一个网站。该服务器通过路由器的端口转发暴露在外部。我想知道客户端是从 LAN 外部连接还是从 LAN 内部连接

最佳答案

对已进行端口转发的服务器的任何请求都将显示为源自执行端口转发的设备的 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 上的设备直接访问您的服务器,它们将发出看似源自其自己的 LAN IP 地址的请求。

警告:如果使用主机名(例如 foo.example.com)访问服务器,并且您在 LAN 内部和外部使用相同的主机名,并且局域网内的DNS将该主机名指向路由器面向Internet的IP地址,那么请求仍然会由路由器进行端口转发。

关于Javascript/PHP - 查找客户端是否在同一网络中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35652638/

相关文章:

php - 如何逐字节发送/接收数据

php - 如何使具有唯一 ID 的 URL 漂亮并提高搜索结果中的可见性

iis - 配置 IIS 以全局访问已部署的网站(通过 WAN)[注意 : I have static IP]

Java Socket 编程 LAN Messenger

java桌面应用程序-在本地服务器上共享一台数据库主机

javascript - 是否可以在另一个请求中有一个 Angular js $http 请求?

javascript - 您能帮我突出显示通过 java 脚本动态创建的所选 HTML 表格行吗

php - 使用正则表达式分隔组中的字符串

javascript - 视频播放与圈子同步扩展

javascript - 为什么 object.observe 不适用于输入字段的值属性?