Build Status codecov PHP from Packagist License: MIT

Shieldon is a Web Application Firewall (WAF) for PHP. Taking less than 10 minutes only, PHP expert developers will understand how to implement Shieldon Firewall on their Web applications. The goal of this library is to make the PHP community more secure and being extremely easy-to-use.


  • SEO friendly.
  • Http-type DDOS mitigation.
  • Anti-scraping.
  • Online session control.
  • Cross-site scripting (XSS) protection.
  • Interrupting vulnerability scanning.
  • Eradicating brute force attacks.
  • IP manager.
  • Protecting pages via WWW-Authenticate.
  • Detailed statistics and charts.
  • Send notifications when specific events occurred. Supported modules:
    • Slack
    • Telegram
    • Line Notify
  • Web UI for System firewall - iptables and ip6tables.
  • More features will come...


Use PHP Composer:

composer require shieldon/shieldon

Or, download it and include the Shieldon autoloader.

require 'Shieldon/autoload.php';


Here are the guides of integrating with the popular PHP frameworks.

Firewall Panel

Shieldon provides a visualization UI called Firewall Panel. By using Shieldon Firewall, you can easily implement it on your Web application.

Firewall Panel

Click here to view demo.

  • user: demo
  • password: demo


Only a few screenshots are listed below.

Firewall Panel

Captcha Stats

Captcha Statistics

Online Session Stats

You can see the real-time data here if Online Session Limit is enabled.

Rule Table

You can temporarily ban a user here.


Shieldon's Firewall Panel is fully responsive, and you can manage it when you are not in front of your computer, using your mobile phone at any time.

Responsive Firewall Panel


Temporarily Ban a User

When the users or robots are trying to view many your web pages in a short period of time, they will temporarily get banned. Get unbanned by solving a Catpcha.

Permanently Ban a User

When a user has been permanently banned.

Online Session Control

When a user has reached the online session limit. You can set the online session limit by using limitSession API.


Shieldon library is brought to you by Terry L. from Taiwan.