oyeaussie/phpfirewall
最新稳定版本:1.2.1
Composer 安装命令:
composer require oyeaussie/phpfirewall
包简介
PHPFirewall is a tool to allow/block connections to your web resource using IP address. The IP address details are either retrieved from local database or by making API calls to IP2Location.io
关键字:
README 文档
README
PHPFirewall was awarded 1st prize in the IP2Location Programming Contest 2024 IP2Location Programming Contest 2024
Description:
PHPFirewall is a tool to allow/block connections to your web resource using IP address. The IP address details are either retrieved from local database or by making API calls to IP2Location.io
Why this project?
Internet is ever growing. New devices are coming online everyday which requires the ISPs to add new network range into their system. This makes it quite difficult for firewalls like Cisco or pfsense (linux) to manage policies or know about all networks that are introduced by the ISP of a particular region. Most network hacking happens because of incorrect/failed firewall rules. It's just hard to know all of the network IP ranges of a region.
I wanted to create a firewall application that can be installed on shared hosting, that does not require physical access to the hardware or require a dedicated hardware to run. PHPFirewall can run in a shared hosting environment like Cpanel and it will work just fine. Most Cpanel providers provide access to the users space via SSH, so managing the firewall via CLI is possible.
The whole idea is not to worry about which IP belongs to which part of the world. 1 line should be enough to allow connection from that region and the firewall should take care of the rest of the connections by blocking them. Ip2location.io API along with this application - PHPFirewall, makes this possible.
Code Example:
//In index.php <?php include 'vendor/autoload.php'; //At this point, we assume that firewall configuration and/or IP2location API keys are set! if (!(new \PHPFirewall\Firewall)->checkIp()) { //Send 404 http_response_code(404); exit; } // Rest of your code
Documentation:
Documentation for this repository
Credits:
Thanks to the following projects for their great work. Without them, this project would not be possible.
Composer
Symphony Http Foundation
Ip2location.io - https://www.ip2location.io/
Ip2location PHP Module - https://github.com/chrislim2888/IP2Location-PHP-Module
Ip2location Proxy PHP Module - https://github.com/ip2location/ip2proxy-php
Guzzle - https://github.com/guzzle/guzzle
Flysystem - https://github.com/thephpleague/flysystem
SleekDB - https://github.com/SleekDB/SleekDB
The PHP League CSV - https://github.com/thephpleague/csv
Carbon Date : https://carbon.nesbot.com/
Codeception : https://codeception.com/
PHPUnit : https://phpunit.de/
Issues/Discussions/New features:
Feel free to open an issue in case of a bug or to discuss anything related to the tool or to add a new feature.
Buy Me A Coffee/Beer:
Time is valuable. If you feel this project has been helpful and it has saved your time worth a coffee or a beer...

Hire me:
If you would like to develop a PHP application that requires expert level programming. I am available for hire. Message me and we can discuss further.
Repo Activity:
统计信息
- 总下载量: 55
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 5
- 点击次数: 3
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2024-07-27