jpkleemans/htaccess-firewall

使用Htaccess进行简单的访问控制

dev-master 2017-03-22 17:22 UTC

This package is auto-updated.

Last update: 2019-12-16 16:31:18 UTC


README

Build Status Code Quality License

SensioLabsInsight

使用Htaccess进行简单的访问控制。

这个库目前正在开发中。事情将会发生变化!

安装

通过Composer

$ composer require jpkleemans/htaccess-firewall:dev-master

用法

首先,创建一个HtaccessFirewall\HtaccessFirewall类的实例

$firewall = new HtaccessFirewall('path/to/.htaccess');

阻止IP

$host = IP::fromString('123.0.0.1');

$firewall->deny($host);

解除IP阻止

$host = IP::fromString('123.0.0.1');

$firewall->undeny($host);

获取所有拒绝的主机

$hosts = $firewall->getDenied();

停用防火墙(注释 .htaccess 行)

$firewall->deactivate();

// And to reactivate:
$firewall->reactivate();

设置403消息

$hosts = $firewall->set403Message('You are blocked!');

// And to remove:
$hosts = $firewall->remove403Message();

使用其他文件系统

您可以通过将文件系统作为HtaccessFirewall构造函数的第二个参数传递来使用其他文件系统。该文件系统必须实现HtaccessFirewall\Filesystem\Filesystem接口。

$filesystem = new YourCustomFilesystem();
$firewall = new HtaccessFirewall('path/to/.htaccess', $filesystem);

测试

$ phpspec run