BBQ Firewall – Fast & Powerful Firewall Security


Install, activate, and done!
Powerful protection from WP’s fastest firewall plugin.

BBQ Firewall is a lightweight, super-fast plugin that protects your site against a wide range of threats. BBQ checks all incoming traffic and quietly blocks bad requests containing nasty stuff like eval(, base64_, and excessively long request-strings. This is a simple yet solid solution for sites that are unable to use a strong Apache/.htaccess firewall.

Adds a strong firewall to ANY WordPress site
Works with all WordPress plugins and themes

Protection puissante

BBQ protects your site against many threats:

  • Attaques par injection SQL
  • Téléchargements de fichiers exécutables
  • Attaques de traversée de répertoire
  • Requêtes de personnage non sécurisées
  • Demandes trop longues
  • Exécution à distance/fichier PHP
  • XSS, XXE et attaques associées
  • Protège contre les mauvais robots
  • Protège contre les mauvais référents
  • Protects against bad POST content
  • Protects against many other bad requests

Fonctionne parfaitement avec Blackhole for Bad Bots

Fonctionnalités géniales

BBQ fournit toutes les meilleures fonctionnalités de pare-feu :

  • Noté 5 étoiles sur
  • 100% plug &-play, aucune configuration
  • 100 % concentré sur la sécurité et la performance
  • Blocks a wide range of malicious URL requests
  • Fastest Web Application Firewall (WAF) for WordPress
  • Basé sur le 6G/7G Pare-feu
  • Analyse tout le trafic entrant et bloque les mauvaises requêtes
  • Vérifie tous les types de requêtes : GET, POST, PUT, DELETE, etc.
  • Protège contre les bad bots et les référents connus
  • Fonctionne silencieusement dans les coulisses pour protéger votre site
  • Extension de sécurité simple à utiliser et sans prise de tête
  • Des performances rigoureusement testées et sans erreur
  • Taux de faux positifs extrêmement faible
  • Compatible avec d’autres extensions de sécurité
  • Regularly updated and « future proof »
  • Firewall < 10 kilobytes in size
  • Léger, rapide et flexible

For advanced protection and features, check out BBQ Pro »
BBQ = Block Bad Queries


This plugin does not collect or store any user data. It does not set any cookies, and it does not connect to any third-party locations. Thus, this plugin does not affect user privacy in any way.

BBQ Firewall is developed and maintained by Jeff Starr, 15-year WordPress developer and book author.

Support development

I develop and maintain this free plugin with love for the WordPress community. To show support, you can make a donation or purchase one of my books:

Et/ou achetez une de mes extensions WordPress premium

Les liens, tweets et j’aime sont aussi les bienvenus. Merci ! 🙂


Installation du barbecue

  1. Installez, activez et c’est terminé.

Une fois actif, BBQ protège automatiquement votre site contre les menaces. Tranquillement, dans les coulisses. Pour plus de contrôle et une protection renforcée, consultez BBQ Pro »

More info on installing WP plugins


Note that the Pro version of BBQ makes it possible to customize patterns and everything else directly via the plugin settings, with a click. BBQ Pro also displays the current block count for each firewall rule, like this.


This plugin cleans up after itself. All plugin settings will be removed from your database when the plugin is uninstalled via the Plugins screen.

Like the plugin?

If you like BBQ, please take a moment to give a 5-star rating. It helps to keep development and support going strong. Thank you!


How to test that the plugin is working?

To test that the plugin is working, you can request any of the blocked patterns. For example, visit your site’s homepage and enter the following URL:

Replace with your site’s actual domain. If BBQ is active, the request for that URL will be blocked (with a « 403 Forbidden » status). This means the plugin is working properly. You can test other patterns as well. To view all the patterns blocked by BBQ, look at the function bbq_core() located in block-bad-queries.php.

Proposez-vous des extensions de sécurité ?

Yes, three of them:

Versions Pro avec plus de fonctionnalités disponibles sur Plugin Planet.

Ai-je besoin d’autre chose pour que BBQ fonctionne ?

Non, installez-le et relaxez-vous en sachant que BBQ protège votre site des mauvaises requêtes.

Where are the plugin settings?

No settings needed for BBQ! Everything is done automatically behind the scenes. Zero configuration required. The free version of BBQ is strictly plug-n-play, set-it-and-forget-it, with no settings to configure whatsoever. Just install, activate, and enjoy better security and robust protection against malicious requests. The Pro version of BBQ is just as fast and simple to use, but is much more powerful and includes robust settings to customize and fine-tune your firewall.

Is BBQ free version compatible with Wordfence?

Oui BBQ gratuit et BBQ Pro sont tous les deux compatibles avec toute extension écrite selon l’API WordPress. Et, oui, il y a un bénéfice à utiliser BBQ avec une autre extension de sécurité, y compris Wordfence. Ils protègent contre des menaces différents, utiliser les deux signifie une protection renforcée.

BBQ modifie t-il mon fichier .htaccess ?

Absolument pas. Contrairement à d’autres extensions de sécurité, ni BBQ (version gratuite), ni BBQ Pro ne modifient le fichier .htaccess.

BBQ apporte t-il des modifications à ma base de données WP ?

Non, la version gratuite de BBQ agit au chargement de chaque page. Elle ne procède à aucun changement de la base de données WP.

Est-ce que BBQ bloque les chaînes malveillantes incluses dans les tableaux ?

Yes, BBQ scans any arrays that are included in the URI request. If any matching patterns are found, the request is blocked.

My PHP scanner/checker plugin says there is an error?

For example, if your PHP/plugin scanner reports something like, « found 0x3c62723e which is bad. » Normally you would not want to find such bad strings of code, but there is an exception for security plugins. Think about it: in order to block some nasty string, BBQ must know about it. So each bad string that is blocked by BBQ is included in the plugin « blacklist ». That means, when some PHP scanner looks at BBQ and finds some known bad strings, it just means that the scanner has discovered BBQ’s list of blocked terms. In other words, BBQ contains static strings of non-functional text, in order to match and block malicious requests to your site. I hope this makes sense, feel free to contact me if I may provide any further infos.

Ai-je besoin de WordPress pour exécuter BBQ ?

Nope! BBQ is available in the following flavors:

Découvrez le script PHP autonome pour les sites qui n’utilisent pas WordPress.

Can I use BBQ and 7G/8G Firewall at the same time?

Full question: « Except most of the rules overlapping, is it counter productive (site slowing down for example, potential conflicts, bugs) or is there any risks using 7G/8G Firewall + BBQ at the same time? »

Answer: It’s fine to run both BBQ and 7G/8G Firewall at the same time. Both firewalls are super fast, so they won’t slow things down. In other words the two firewalls play well together. The only downside is that some of the rules will be redundant, but there should be no negative impact on performance. The upside is that you get extra protection when using both, as there are variations in the firewall rules and patterns, etc.

My PHP checker found something?

If you are using some PHP checker that’s reporting an error or bad string in BBQ, it’s a false positive and safe to ignore. Why? Because the PHP checker is finding the static strings/patterns that BBQ uses to identify and block bad requests. In other words, your PHP checker is finding a static string thinking it is live code. It’s not. If possible, please take a moment to report this to the developers of your PHP checker. They should be happy to improve the accuracy and quality of their plugin. More info.

How to enable logging?

You can use a free addon to display the total number of blocked requests on the BBQ settings page. Here is a guide that explains how to set it up.

Alternately, BBQ can be configured to log the matching pattern for each blocked request. When match-logging is enabled, BBQ will add a log entry in the site’s default error log. To enable match logging, use the free customize plugin.

Note that the Pro version of BBQ displays the current block count for each firewall rule, like this. All automatic, fiddling with code NOT required 🙂

Une question ?

Envoyez vos questions ou commentaires via mon formulaire de contact.


5 septembre 2023
Was a rookie when I started and found this plug in. WOW.... This is a must for anyone wanting extra security in keeping their site secure from the bad guys. Never had a glitch, Never had a conflict !! Thanks BBQ !!
7 août 2023
After discovering this plugin, I use it all the time for smaller projects and sometimes for larger projects - doesn't seem to add too much overhead but gives great piece of mind.
4 août 2023
Been meaning to write a review for a long time, I have full confidence in this plugin as an integral part of security
Lire les 125 avis

Contributeurs/contributrices & développeurs/développeuses

« BBQ Firewall – Fast & Powerful Firewall Security » est un logiciel libre. Les personnes suivantes ont contribué à cette extension.


“BBQ Firewall – Fast & Powerful Firewall Security” a été traduit dans 14 locales. Remerciez l’équipe de traduction pour ses contributions.

Traduisez « BBQ Firewall – Fast & Powerful Firewall Security » dans votre langue.

Le développement vous intéresse ?

Parcourir le code, consulter le SVN dépôt, ou s’inscrire au journal de développement par RSS.


If you like BBQ, please take a moment to give a 5-star rating. It helps to keep development and support going strong. Thank you!


  • Adds .msi to Request URI patterns
  • Adds etc/hosts, etc/motd, etc/shadow to Request URI patterns
  • Fixes bug with translation on settings page
  • Met à jour le modèle de traduction par défaut
  • Updates custom banner notice
  • Tests on WordPress 6.4 (beta)


  • Improves localization function
  • Improves sanitization of variables
  • Met à jour le modèle de traduction par défaut
  • Adds PHP constant, BBQ_BASE_FILE
  • Adds custom notice on settings page
  • Adds information about BBQ addons
  • Improves plugin documentation
  • Tests on WordPress 6.3 (beta)


  • Adds action hook bbq_response
  • Adds filter hook bbq_count_plugin_path
  • Adds button to test firewall active
  • Streamlines firewall functionality
  • Tweaks styles on plugin settings page
  • Appends version number to CSS/JS URLs
  • Improves logic when calling get_current_screen()
  • Adds rate and support links to plugin settings page
  • Adds bbq_long_req_length filter for long-request length
  • Displays blocked count on settings screen (when enabled)
  • Updates whitelist/blacklist addons
  • Updates customize addon
  • Adds plugin screenshots on settings page
  • Génère un nouveau modèle de traduction
  • Tests on WordPress 6.1 + 6.2 (beta)
  • Tests on PHP 8.1 and 8.2


  • Adds custom footer text to plugin settings
  • Improves plugin documentation
  • Updates translation template
  • Tests on WordPress 6.1


  • Removes .inc from firewall patterns
  • Tests on WordPress 6.0


  • Disables POST data scanning by default
  • Tests on WordPress 5.9


  • Refactors for improved performance
  • Improves checking of POST requests
  • Adds filter hook post_items
  • Adds filter hook bbq_post_scanning
  • Adds /.env to Request URI patterns
  • Adds c99.php to Request URI patterns
  • Updates blacklist and customize addons
  • Improves loading of translations
  • Updates some links to external resources
  • Changes minimum required WP version to 4.6
  • Tests on WordPress 5.9


  • Supprime ambien des modèles de référence
  • Tests sur WordPress 5.8


  • Supprime le modèle zune des agents utilisateurs
  • Supprime le motif ninja des agents utilisateurs
  • Tests sur WordPress 5.7


  • Modifie le modèle de chaîne de requête pour une correspondance optimale
  • Autres tests sur WordPress 5.6


  • Supprime le modèle order des règles de chaîne de requête
  • Removes ahrefs pattern from User Agent rules


  • Removes python from the User Agent rules
  • Ajoute un filtre pour le blocage des requêtes longues URI
  • Ajoute un filtre pour activer la journalisation des demandes bloquées
  • Releases customize plugin to change default functionality
  • Autres tests sur WordPress 5.6


  • Améliore la protection XSS
  • Améliore la logique de bbq_core()
  • Intègre des modèles 7G aux règles de pare-feu
  • Supprime certains modèles de pare-feu redondants
  • Ajoute une protection contre les caractères excessifs
  • Ajoute une fonctionnalité de journalisation (désactivée par défaut)
  • Ajoute des crochets de filtre pour personnaliser la réponse bloquée
  • Replaces guangxiymcd with www\.(.*)\.cn
  • Changes plugin name to « BBQ Firewall »
  • Met à jour le modèle de traduction par défaut
  • Met à jour/affine le fichier readme.txt
  • Tests sur PHP 7.4 et 8.0
  • Tests sur WordPress 5.6


  • Replaces guangxiymcd with wildcard match www.(.*).cn
  • Affine le fichier readme/la documentation
  • Tests sur WordPress 5.5


  • Adds guangxiymcd to Request URI and Query String patterns
  • Tests on WordPress 5.4 + 5.5 (alpha)


  • Tests sur WordPress 5.4


  • Modifications apportées à plugins_url() pour la constante BBQ_URL
  • Tests sur WordPress 5.3


  • Met à jour certains liens vers https
  • Tests sur WordPress 5.3 (alpha)


  • Fait passer la version minimale de PHP à la 5.6.20
  • Adds activation check if BBQ Pro is active
  • Met à jour le modèle de traduction par défaut
  • Tests sur WordPress 5.2


  • Améliore la fonction bbq_action_links()
  • Refines plugin settings screen UI
  • Génère un nouveau modèle de traduction par défaut
  • Tests sur WordPress 5.1 et 5.2 (alpha)


  • Tests sur WordPress 5.1


  • Adds homepage link to Plugins screen
  • Met à jour le modèle de traduction par défaut
  • Tests sur WordPress 5.0


  • Removes .tar from Request URI patterns
  • Ajoute rel="noopener noreferrer" à tous les liens blank-target
  • Met à jour le texte de présentation du RGPD et le lien de don
  • Régénère le modèle de traduction par défaut
  • Autres tests sur WP 4.9 et 5.0 (alpha)


  • Ajoute xrumer aux chaînes de requête bloquées et aux URI de requête
  • Ajoute indoxploi aux chaînes de requête bloquées et aux URI de requête
  • Génère un nouveau modèle de traduction
  • Tests sur WordPress 5.0


  • Updates readme.txt 🙂
  • Tests sur WordPress 4.9


  • Remplace \/\.tar par \.tar dans les modèles de demande
  • Remplace \/\.bash par \.bash dans les modèles de demande
  • Adds new User Agent patterns: shellshock, md5sum, \/bin\/bash
  • Adds new Request patterns: @@, @eval, \/file\:, \/php\:, \.cmd, \.bat, \.htacc, \.htpas, \.pass, usr\/bin\/perl, var\/lib\/php, wp-config\.php
  • Adds new Query String patterns: @@, \(0x, 0x3c62723e, \(\)\}, \:\;\}\;, \;\!--\=, @eval, eval\(, base64_, UNION(.*)SELECT, \/config\., \/wwwroot, \/makefile, \$_session, \$_request, \$_env, \$_server, \$_post, \$_get, phpinfo\(, shell_exec\(, file_get_contents, allow_url_include, disable_functions, auto_prepend_file, open_basedir, (benchmark|sleep)(\s|%20)*\(
  • Tests sur WordPress 4.9


  • Changed menu item name to « BBQ Firewall »
  • Tests sur WordPress 4.9 (alpha)


  • Ajoute une page de réglages de l´extension
  • Ajoute la traduction française (merci à Bouzin)
  • Génère un nouveau modèle de traduction par défaut
  • Tests sur WordPress version 4.8


  • Remplace esc_html par esc_attr pour les attributs de titre de lien
  • Modifie la balise stable du tronc vers la dernière version
  • Ajoute &raquo; pour le lien pour noter cette extension
  • Updates URL for rate this plugin link
  • Moves « Go Pro » link to action links
  • Renomme les fonctions action/méta-lien
  • Met à jour le modèle de traduction par défaut
  • Tests sur WordPress version 4.7 (bêta)


  • Ajout de la prise en charge de la traduction
  • Ajout des icônes et d’une grande bannière pour l’extension
  • Mise au point et tests généraux
  • Testé sur WordPress 4.6


  • Removed \:\/\/ from Request URI and Query String patterns (see this thread)
  • Added (benchmark|sleep)(\s|%20)*\( to Request URI patterns (thanks to smitka)
  • Testé sur WordPress 3.5 bêta


  • Added \.php\([0-9]+\), __hdhdhd.php to URI patterns (Thanks to George Lerner)
  • Added acapbot, semalt to User Agent patterns (Thanks to George Lerner)
  • Replaced UNION.*SELECT with UNION(.*)SELECT in Request URI patterns
  • Added morfeus, snoopy to User Agent patterns
  • Fonctionnalité de redirection/sortie refactorisée
  • rate_bbq() renommé en bbq_links()
  • Testé avec WordPress 4.4 bêta


  • Testé sur WordPress 4.3
  • Exigence de version minimale mise à jour
  • Highlighted Pro link on Plugins screen


  • Ajout de wp-config.php aux modèles de chaîne de requête
  • Added plugin link to BBQ Pro
  • Test sur WP 4.3 (alpha)


  • Testé avec WP 4.2 et 4.3 (alpha)
  • Remplacement de certains http par https dans readme.txt


  • introduit bbq_core()
  • testé sur le dernier WP
  • code resserré


  • testé sur la dernière version de WordPress (4.0)
  • retesté sur Multisite
  • exigence de version minimale augmentée à WP 3.7


  • Bugfix: added conditional checks for empty variables


  • testé sur la dernière version de WordPress (3.8)
  • ajouté lien pour noter l’extension


  • retiré ?> du script
  • ajouté ligne optionnelle pour bloquer les URL longues
  • added line to prevent direct access to BBQ script
  • added \;Nt\., \=Nt\., \,Nt\. to request URI items
  • testé sur la dernière version de WordPress (3.7)


  • remplacé Nt\. par \/Nt\. (résout un problème d´approbation de modification de commentaire)


  • supprimé https\ : (de la version précédente)
  • remplacé \/https\/ par \/https\ :
  • remplacé \/http\/ par \/http\ :
  • remplacé \/ftp\/ par \/ftp\ :


  • bloc supprimé pour jakarta dans les agents utilisateurs
  • supprimé union des chaînes de requête
  • added to request-URI: \%2Flocalhost, Nt\., https\:, \.exec\(, \)\.html\(, \{x\.html\(, \(function\(
  • Avis PHP résolu « Index non défini » via isset()


  • bloc supprimé pour CONCAT dans request-URI
  • bloc supprimé pour environ dans la chaîne de requête
  • bloc supprimé pour %3C et %3E dans la chaîne de requête
  • bloc supprimé pour %22 et %27 dans la chaîne de requête
  • removed block for [ and ] in query-string (to allow unsafe characters used in WordPress)
  • removed block for ? in query-string (to allow unsafe character used in WordPress)
  • bloc supprimé pour  : dans la chaîne de requête (pour autoriser les caractères dangereux utilisés par Google)
  • removed block for libwww in user-agents (to allow access to Lynx browser)


  • Removed : match from query string (Google disregards encoding)
  • Suppression du scanner de la chaîne de requête de la correspondance de la chaîne de requête
  • Code source simplifié pour de meilleures performances (grâce à juliobox)

Anciennes versions

  • 27/10/2012 – Vérification désactivée pour les chaînes longues, vérification désactivée pour le scanner
  • 2012/10/26 – Plugin reconstruit utilisant la technologie 5G/6G
  • 21/02/2011 – Mise à jour du fichier readme.txt
  • 2009/12/30 – Added check for admin users
  • 2009/12/30 – Ajout de chaînes de requête supplémentaires