【问题标题】:Php detect if browser is running on server or clientphp检测浏览器是在服务器还是客户端上运行
【发布时间】:2019-03-11 17:14:53
【问题描述】:

我为客户端构建了一个项目,程序将从基础服务器运行,而其他客户端系统将连接到基础服务器 ip 并访问服务器 localhost, 正在使用系统硬盘 ID 验证许可证密钥,但我只想验证基本服务器,而客户端服务器系统将跳过验证,即“如果系统是基本服务器运行脚本” 我希望我的客户能够在使用相同的许可证密钥时连接到尽可能多的客户端系统

我怎样才能用 PHP 实现这一点

【问题讨论】:

  • 我已经读了几次这个问题,但我仍然不明白你在问什么。客户端连接到基础服务器并访问服务器 localhost?你说的是远程桌面吗?另外,“我希望我的客户端能够连接到尽可能多的客户端系统” - 不是连接到服务器的客户端吗?请用正确的设置解释和您正在尝试做什么来重写您的问题。目前还不清楚。
  • 是的,我的意思是远程桌面,会有一个系统,在那个系统上我将安装xampp服务器,项目将在xampp上,然后其他系统将远程连接到它,并访问相同的应用程序,所以我只想验证安装了 xampp 的系统。不知道我是否解释得很好,但只是为了检测系统是否正在连接到远程桌面或系统是一个,其他系统正在连接到

标签: php server localhost client


【解决方案1】:

如果您的其他服务器直接连接到您的应用程序,当您在应用程序中回显 $_SERVER['REMOTE_ADDR'] 时,您应该会看到不同的结果。 您可以使用它来决定是否运行脚本:

if($_SERVER['REMOTE_ADDR'] == "SERVER_IP") { ... }

如果您远程连接到计算机,然后访问应用程序,这可能在所有情况下都是 localhost 地址。 在这种情况下,我建议您调试整个 $_SERVER 变量并检查是否存在不同的变量,例如 $_SERVER['HTTP_X_FORWARDED_FOR'] 和 $_SERVER['HTTP_X_FORWARDED_SERVER']?

http://php.net/manual/en/reserved.variables.server.php

【讨论】:

  • 是的,我的意思是远程桌面,会有一个系统,在那个系统上我将安装xampp服务器,项目将在xampp上,然后其他系统将远程连接到它,并访问相同的应用程序,所以我只想验证安装了 xampp 的系统。不知道是否解释得很好,只是为了检测系统是连接到远程桌面还是系统是一个,其他系统正在连接,即检测系统是主机还是客户端
  • 如果您的其他服务器直接连接到您的应用程序,当您在应用程序中回显 $_SERVER['REMOTE_ADDR'] 时,您应该会看到不同的结果。如果您远程连接到计算机,然后访问应用程序,它可能始终是 localhost 地址。您可以调试整个 $_SERVER 变量并检查是否存在不同的变量,例如 $_SERVER['HTTP_X_FORWARDED_FOR'] 和 $ _SERVER['HTTP_X_FORWARDED_SERVER']?
  • @Benjamin,我更新了上一个答案,它回答了你的问题吗?
【解决方案2】:

自己解决了这个问题,感谢所有的贡献

问题是“当连接到服务器时,使用硬盘 id 验证用户的应用程序会检查所有连接系统的硬盘 id 吗?”

答案是“不”

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-26
    • 1970-01-01
    • 2011-10-15
    • 1970-01-01
    • 2012-11-18
    相关资源
    最近更新 更多