Nous publions aujourd’hui notre firewall applicatif sur notre compte GitHub. Il se compose :
- d’un composant PHP (5.4+) gérant les IPs (V4 et V6), plages, wildcards, white/black lists, etc.
- d’un bundle Symfony permettant d’utiliser le composant Firewall dans les controllers à l’aide des annotations et de retourner une réponse HTTP personnalisée.
Ils utilisent tous les deux Composer et sont disponibles sur Packagist.
Qu’est ce qu’un Firewall applicatif ?
Un Firewall applicatif permet de restreindre l’accès de certaines IPs à certaines parties d’une application. Vous pouvez par exemple définir la liste des IPs autorisées dans la section d’administration ou au contraire celles que vous souhaitez bloquer dans un forum.
Pourquoi cette implémentation ?
Nous souhaitions éviter de redéfinir l’ensemble des IPs chaque point de restriction. Nous avons donc cherché centraliser la configuration. Le FirewallBundle permet de mettre en place des listes hiérarchisées ainsi que des configurations prédéfinies que nous pouvons réutiliser et adapter chaque besoin.
Comment contribuer ?
Si notre firewall applicatif répond certaines de vos problématiques, mais que vous souhaitez le voir évoluer, n’hésitez pas participer son développement :
- forkez les projets sur GitHub,
- faites une branche par fonctionnalité,
- proposez-nous vos évolutions et optimisations via les Pull Requests.
Vous pouvez également nous remonter les problèmes rencontrés lors de son utilisation dans les issues du composant ou les issues du bundle.
Enfin, n’hésitez pas utiliser les commentaires de cet article pour nous faire part de vos réactions.