是否';php://input';包括客户端';s设备ID信息


Does 'php://input' include the client's device ID information?

当我打印$data = file_get_contents('php://input')时,它打印了很多混乱的代码。我想知道从php服务器哪个android设备已经上传了某个文件到服务器。非常感谢!

这不是混乱的代码,而是您不理解的关于请求的详细信息。

去学习HTTP协议是如何工作的,如果你不了解你在使用什么,你就无法解决这个问题。

您只能了解用户代理提供了什么。如果他们没有通过HTTP发送带有设备版本号的请求头,那么不,你不会得到它。

通常,操作系统包含在用户代理字符串中。这可能是你唯一能找到与你想要的东西接近的地方。

如果你想识别特定的用户,你能做的最好的事情(通过设计你和设备之间的许多系统)就是使用HTTP cookie实现"会话"。如果请求来自浏览器,一旦您设置了cookie,来自该用户的每个后续请求都将具有相同的cookie。

我们使用的一般模式是寻找现有的cookie,如果没有(即新用户):创建一个唯一的随机字符串,将其存储在与该"用户"关联的服务器上的某个位置,然后将其作为cookie发送给用户。

PHP会话功能可以在这方面为您提供很大帮助。

请记住 您只能以这种匿名方式跟踪用户。除非你还在发送请求的设备上编写了应用程序,否则你无法从设备中获得实际的设备ID,这很好