Skip to content

jpkleemans/htaccess-firewall

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Htaccess Firewall

Build Status Code Quality License

SensioLabsInsight

Simple access control using Htaccess.

This library is currently under development. Things will change!

Install

Via Composer

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

Usage

First, create an instance of the HtaccessFirewall\HtaccessFirewall class:

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

Block IP

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

$firewall->deny($host);

Unblock IP

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

$firewall->undeny($host);

Get all denied hosts

$hosts = $firewall->getDenied();

Deactivate firewall (comment .htaccess lines)

$firewall->deactivate();

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

Set 403 message

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

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

Use other filesystem

You can use another filesystem by passing it as the second argument of the HtaccessFirewall constructor. The filesystem must implement the HtaccessFirewall\Filesystem\Filesystem interface.

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

Testing

$ phpspec run

About

Simple access control using Htaccess

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages