'php:// input'是否包含客户端的设备ID信息?

时间:2012-07-07 02:40:05

标签: php android webserver

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

2 个答案:

答案 0 :(得分:0)

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

了解HTTP协议的工作原理,如果您不了解您正在使用的内容,则无法解决此问题。

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

通常,操作系统包含在用户代理字符串中。这可能是您唯一能找到与您所寻找的相近的地方。

答案 1 :(得分:0)

如果您想识别特定用户,您可以做的最好(通过设计您和设备之间的许多系统),使用HTTP cookies实现“会话”。如果请求来自浏览器,一旦您设置了cookie,该单个用户的每个后续请求都将使用相同的cookie。

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

The PHP session features可以极大地帮助您。

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