riverside/php-waf
GitHub: riverside/php-waf
基于 PHP 的轻量级 Web 应用防火墙,通过 Composer 安装并以无侵入方式为应用提供四种常见攻击类型的拦截防护。
Stars: 32 | Forks: 13
# php-waf
PHP Web 应用程序防火墙
| 构建 | 稳定版 | 许可证 |
| --- | --- | --- |
| [][y1] | [][y2] | [][y3] |
### 环境要求
- PHP >= 7.0
### 安装
如果你的系统尚未安装 Composer,可以使用以下命令行进行安装:
```
$ curl -sS https://getcomposer.org/installer | php
```
接下来,在项目根目录下的
composer.json 文件中添加以下 require 条目。
```
{
"require" : {
"riverside/php-waf" : "^2.0.1"
}
}
```
最后,使用 Composer 安装 php-waf 及其依赖项:
```
$ php composer.phar install
```
### 使用方法
1. 配置你的 Web 服务器
- Apache
php_value auto_prepend_file "/path/to/waf.php"
- Nginx
fastcgi_param PHP_VALUE "auto_prepend_file=/path/to/waf.php";
2. 创建一个 Firewall 实例
- waf.php
run();
### 可用的过滤器
| 过滤器 | 描述 |
| ------------------ | --------------------- |
| Sql | SQL 注入 |
| Crlf | CRLF 注入 |
| Xss | 跨站脚本攻击 (Cross-site Scripting) |
| Xml | XML 攻击 |
### 迁移到 2.0.0 版本的指南
##### 更改内容
在 2.0.0 版本中,我进行了以下更新,以提高一致性并遵循 PHP 最佳实践:
1. 命名空间已重命名
- 旧命名空间:`PhpWaf`
- 新命名空间:`Riverside\Waf`
2. 类名已重命名
- 旧名称:
- `src/Filter/CRLF.php` (类 `CRLF`)
- `src/Filter/SQL.php` (类 `SQL`)
- `src/Filter/XML.php` (类 `XML`)
- `src/Filter/XSS.php` (类 `XSS`)
- `src/BaseFilter.php` (类 `BaseFilter`)
- 新名称:
- `src/Filter/Crlf.php` (类 `Crlf`)
- `src/Filter/Sql.php` (类 `Sql`)
- `src/Filter/Xml.php` (类 `Xml`)
- `src/Filter/Xss.php` (类 `Xss`)
- `src/AbstractFilter.php` (类 `AbstractFilter`)
##### 如何更新你的代码库
1. 更新类导入:
- 旧方式:
- `use PhpWaf\Firewall;`
- `use PhpWaf\Filter\CRLF;`
- `use PhpWaf\Filter\SQL;`
- `use PhpWaf\Filter\XML;`
- `use PhpWaf\Filter\XSS;`
- 新方式:
- `use Riverside\Waf\Firewall;`
- `use Riverside\Waf\Filter\Crlf;`
- `use Riverside\Waf\Filter\Sql;`
- `use Riverside\Waf\Filter\Xml;`
- `use Riverside\Waf\Filter\Xss;`
标签:AppImage, CISA项目, Composer, CRLF注入防护, ffuf, OpenVAS, PHP, SQL注入防护, WAF, Web安全, Web应用防火墙, XML攻击防护, XSS防护, 开源, 数据包过滤, 网络安全, 蓝队分析, 防火墙, 隐私保护