当前位置: 首页 > news >正文

PHP伪协议

PHP伪协议(pseudo-protocol)是一种在PHP中用作文件访问的特殊机制。它允许通过“伪协议”指定一个处理方式来处理特定的文件或数据。

file://协议:用于访问和操作本地文件系统中的文件。

allow_url_fopen :off/on

allow_url_include:off/on

file://协议通常要求使用绝对路径。路径需要是完整的、从根目录开始的。

http://127.0.0.1/index.php?a=file://D:\phpstudy\phpstudy_pro\WWW\web.php

php://filter协议:用于在读取或写入数据流时应用过滤器。这使得你可以在数据流通过文件系统或其他数据源之前或之后进行处理,如编码、解码、加密、解密等。

allow_url_fopen :off/on

allow_url_include:off/on

过滤器可以应用于读取流read和写入流write。你可以在读取数据时应用过滤器,也可以在写入数据时应用过滤器。

常用过滤器

string.toupper:将字符串转换为大写

string.tolower:将字符串转换为小写

string.strip_tags:移除 HTML 和 PHP 标签

string.urlencode:对字符串进行 URL 编码

string.base64encode:对字符串进行 URL 编码

http://127.0.0.1/index.php?a=php://filter/read=convert.base64-encode/resource=web.php



php://input协议:提供了一个只读的流,允许你访问请求体中的原始数据,特别适用于处理原始的 POST 请求体。

allow_url_fopen :off/on

allow_url_include:on

 

zip://, bzip2://, zlib://协议:允许直接访问压缩文件的内容,不需要指定后缀名。

zip://, bzip2://, zlib://协议在双off的情况下也可以正常使用;

allow_url_fopen :off/on

allow_url_include:off/on

http://127.0.0.1/index.php?a=zip://web.zip%23web.php

 http://127.0.0.1/index.php?a=zip://web.jpg%23web.php

data://协议:用于在 URL 中嵌入小型的数据。它允许直接在 URL 中包含数据

allow_url_fopen :on

allow_url_include:on

http://127.0.0.1/index.php?a=data://text/plain,<?php phpinfo();?>

 http://127.0.0.1/index.php?a=data:text/plain;base64,PD9waHAgcGhwaW5mbygpPz4%3D


http://www.mrgr.cn/news/15101.html

相关文章:

  • Nginx负载均衡中动态资源缓存配置指南
  • Vulkan进阶系列1 - Raytracing 光线查询
  • 51单片机最快能生成多高频率的方波?
  • docker续3:dockerfile
  • 加密与安全_前后端通过AES-CBC模式安全传输数据
  • 【Ubuntu】Ubuntu 24 配置镜像源
  • scrapy--图片管道-ImagesPipeline
  • python项目离线安装
  • 直播商城APP开发指南:基于多商户商城系统源码的实现
  • git pull时如何避免输入用户名和密码?
  • 工程师 - RS232通讯介绍
  • 如何使用 Canvas 和 Paint 进行绘制,以及如何处理自定义属性和解析 XML 属性
  • 如何禁止电脑访问网站
  • Typora图片存储于腾讯云COS无法在md文件显示的问题及其解决方案
  • zookeeper服务器动态上下线监听案例
  • LabVIEW字符串的正常显示和16进制显示的区别
  • jenkins web界面构建job时平台展现的时间是6点,可是当前北京是14点,如何调整这个时间,如何调整 Jenkins 的时间显示
  • Spring Security 使用教程
  • 固态硬盘损坏,有什么方法可以恢复数据?
  • 【算法进阶2-动态规划】斐波那契数列(递归调用、动态规划)、钢条切割问题(自定而下实现、自底向上、切割方案)