本文介绍: php://input 是 PHP 提供的一个伪协议,允许开发者 访问 POST 请求的原始内容。enable_post_data_reading 是 PHP 中的一个布尔配置项,该配置项决定了 是否在 PHP 启动时读取和解析 POST 数据以填充 $_POST 与 $_FILES 超全局变量。在 默认情况 下,enable_post_data_reading 是 开启 的。
参考
环境
PHP 伪协议
概念
在 PHP 中,伪协议(Pseudo Protocols)
也被称为 流包装器
,这些伪协议以 php://
开头,后面跟着一些参数,用于指定 要执行的操作
或 需要访问的资源
。
伪协议表明这些协议并不是一个 真实的外部协议
,例如 http
或 ftp
。PHP 伪协议的出现是为了提供一个 统一的
、简洁的
接口来处理 不同的数据流
。这些伪协议可以被看作是一种 桥梁
,它们允许开发者 使用常规的文件操作函数来处理各种不同的数据流
。
为什么需要 PHP 伪协议?
PHP 所提供的伪协议带来的优点整理如下:
php://input
为什么需要 php://input?
php://input
是 PHP 提供的一个伪协议,允许开发者 访问 POST 请求的原始内容
。对于 POST 请求数据,PHP 提供了 $_POST
与 $FILES
超全局变量,在客户端发起 POST 请求时,PHP 将自动处理 POST 提交的数据并将处理结果存放至 $_POST 与 $FILES 中
。既然 PHP 已经提供了 更为高效的 $_POST 与 $FILES
,为什么还要给出 php://input
伪协议来访问原始 POST 请求数据呢?🧐
更灵活的数据处理
减小性能压力
发送 POST 数据
HackBar
HackBar 插件的获取
$_POST
打开 HackBar 插件
通过 HackBar 插件发起 POST 请求
基操
enable_post_data_reading
enable_post_data_reading 配置项
为什么 PHP 要提供 enable_post_data_reading 配置项?
减小性能压力
使得 php://input 能够获取 multipart/form-data 类型的 POST 数据
multipart/form-data
原因
不必要的 POST
php://input
的独立性
GET 请求也可以携带请求体
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。