【问题标题】:What does "php://input" mean? [closed]“php://input”是什么意思? [关闭]
【发布时间】:2013-09-03 01:00:21
【问题描述】:

我正在阅读有关 PHP 和backbone.js 的信息。很多人似乎在做 file_get_contents("php://input") 来读取服务器发送的数据。大多数人都同意这是可行的,但似乎没有人解释它为什么或如何起作用。根据 PHP 文档,此函数将文件读入字符串。但是“php://input” URL 指向什么?这是在每个请求上创建的文件,是使用 $_POST 的替代方法,还是什么?感谢您提供有关此的任何信息!

【问题讨论】:

  • 一个快速的Google search 这些天可以走得很远!特别是当top result 是官方网站确切地解释它是什么时。
  • 零研究工作。
  • 我不明白,由于缺乏研究,我的问题被关闭为离题,而这里的这个问题link 非常相似并且没有关闭。该问题不包含重现该问题的代码,其答案很容易“搜索”,并且该人对该主题的理解程度最低。这个问题和我的问题有什么区别?我要求不是为了引发辩论,而是为了在未来更好地提出问题。

标签: php javascript backbone.js


【解决方案1】:

php://input 允许您从请求中读取原始数据,而不是依赖 $_POST,如果请求使用某种特殊格式,则 $_POST 将为空或无效。

您可以获取有关此和其他 PHP 包装器 here 的完整详细信息

【讨论】:

  • +1,在一些相关的说明中,PayPal 使用input 作为其 IPN 示例,以进一步提高安全性。 (因为 $_POST 变量很容易编辑,而 php://input 不是)
  • @DaveChen 这没有任何意义,无论如何信息的来源是远程对等点。 php://input主要用于稳定websocket通信。
  • @Havenard: From this example 它使用php://input。对于 websockets,我更喜欢socket_create/bind/listen,但这是题外话。
  • fsockopen 当你是服务器?不要将套接字与 websocket 混淆。
  • 呃哎呀我的意思是socket_listen
猜你喜欢
  • 1970-01-01
  • 2010-12-29
  • 2014-09-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-18
  • 2014-04-03
  • 2013-05-16
相关资源
最近更新 更多