php://filter
时间: 2023-07-03 18:14:23 浏览: 148
php://filter是PHP中的一种伪协议,用于在数据流上应用一个或多个过滤器。通过该协议,可以对数据进行过滤和处理,例如,压缩、加密、解密、验证等。
php://filter的语法格式为:
```
php://filter/<filtername>/resource=<resource>
```
其中,`<filtername>`为过滤器名称,`<resource>`为待过滤的资源。可以通过多个过滤器组合使用,遵循从左到右的顺序。
常见的过滤器名称有以下几种:
- `convert.base64-encode`:将数据转换成Base64编码格式。
- `convert.base64-decode`:将Base64编码格式的数据解码。
- `string.rot13`:对数据进行ROT13加密。
- `zlib.deflate`:对数据进行压缩。
- `zlib.inflate`:对压缩后的数据进行解压缩。
例如,可以使用以下代码将字符串进行Base64编码:
```php
$original = "Hello World!";
$encoded = file_get_contents("php://filter/convert.base64-encode/resource=data:text/plain;base64," . base64_encode($original));
echo $encoded; // 输出:SGVsbG8gV29ybGQh
```
需要注意的是,使用php://filter存在安全风险,应谨慎使用,并且不要接受来自不可信的源的过滤器名称或资源。
阅读全文