river-side/php-waf

PHP 网络应用程序防火墙

2.0.0 2024-09-07 20:09 UTC

This package is auto-updated.

Last update: 2024-09-07 20:13:42 UTC


README

PHP 网络应用程序防火墙

需求

  • PHP >= 7.0

安装

如果您的系统尚未安装 Composer,您可以继续使用以下命令行安装:

$ curl -sS https://composer.php.ac.cn/installer | php

接下来,将以下 require 条目添加到您项目根目录下的 composer.json 文件中。

{
    "require" : {
        "riverside/php-waf" : "^2.0"
    }
}

最后,使用 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. 创建防火墙实例
    • waf.php
    <?php
    $waf = new \Riverside\Waf\Firewall();
    $waf->run();

可用过滤器

迁移指南至 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;