PHPackages                             mathcontao/ng-apache-firewall-for-contao - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Security](/categories/security)
4. /
5. mathcontao/ng-apache-firewall-for-contao

ActiveContao-bundle[Security](/categories/security)

mathcontao/ng-apache-firewall-for-contao
========================================

Just a little collection how to configure the nG firewall (made by Jeff Starr) in Contao CMS. Eine kleine Sammlung wie die nG firewall (von Jeff Starr) in Contao CMS konfiguriert wird.

0.0.12(5y ago)422[6 issues](https://github.com/mathContao/nG-Apache-Firewall-for-Contao/issues)GPL-3.0-or-laterPHP

Since Aug 9Pushed 5y ago2 watchersCompare

[ Source](https://github.com/mathContao/nG-Apache-Firewall-for-Contao)[ Packagist](https://packagist.org/packages/mathcontao/ng-apache-firewall-for-contao)[ RSS](/packages/mathcontao-ng-apache-firewall-for-contao/feed)WikiDiscussions master Synced today

READMEChangelog (10)Dependencies (7)Versions (11)Used By (0)

[![Latest Version on Packagist](https://camo.githubusercontent.com/3da54803b22ffb13132757267d01559ad8966de0c7e47c334745ce2d6a41e48c/687474703a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6d617468636f6e74616f2f6e672d6170616368652d6669726577616c6c2d666f722d636f6e74616f2e7376673f7374796c653d666c6174)](https://packagist.org/packages/mathcontao/ng-apache-firewall-for-contao)[![Installations via composer per month](https://camo.githubusercontent.com/6bbab148a38217ae68aa6a5adbd7c1b8deb2b92e96afa47a20fb0d923d24f520/687474703a2f2f696d672e736869656c64732e696f2f7061636b61676973742f646d2f6d617468636f6e74616f2f6e672d6170616368652d6669726577616c6c2d666f722d636f6e74616f2e7376673f7374796c653d666c6174)](https://packagist.org/packages/mathcontao/ng-apache-firewall-for-contao)[![Installations via composer total](https://camo.githubusercontent.com/c98249f43acc681e28c39a91d4e856fc6b202d49b62777d1bc9c7ac5c0b90d3c/687474703a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6d617468636f6e74616f2f6e672d6170616368652d6669726577616c6c2d666f722d636f6e74616f2e7376673f7374796c653d666c6174)](https://packagist.org/packages/mathcontao/ng-apache-firewall-for-contao)

nG-Apache-Firewall-for-Contao
=============================

[](#ng-apache-firewall-for-contao)

Just a little collection how to configure the nG firewall (made by Jeff Starr) in Contao CMS.

Eine kleine Sammlung wie die nG firewall (von Jeff Starr) in Contao CMS konfiguriert wird.

Ziel
----

[](#ziel)

diverse Bots/Crawler scannen das Internet regelmäßig nach Schwachstellen oder auf der Suche nach Inhalten (z.B. Mailadressen). Auch die eigene Webseite ist davon regelmäßig betroffen. Diverse "Hausmittelchen" werden durch die Webseite ausprobiert, um solche Bots/Crawler auf Abstand zu halten.

Warum nicht diese Bots/Crawler bereits beim Betreten der Webseite abhalten?

nG Apache Firewall/Blacklist
----------------------------

[](#ng-apache-firewallblacklist)

Jeff Starr () stellt seit mehreren Jahren die "[nG Firewall](https://perishablepress.com/tag/ng/)" kostenlos bereit, die sehr einfach zu konfigurieren ist.

- [6G Firewall](https://perishablepress.com/6g/)
- [7G Firewall](https://perishablepress.com/7g-firewall/) (Stable Release Januar 2020)

### Lizenz

[](#lizenz)

Open Source und frei nutzbar für alle ("open source and free for all to use"). Nur eine kleine Referenz in der .htaccess muss vorhanden bleiben.

Technische Voraussetzungen
--------------------------

[](#technische-voraussetzungen)

- Server: Apache 2.0+
- Zugriff auf die .htaccess-Datei
- die Anleitung bezieht sich auf die Arbeit mit Contao CMS (). Bekannt Fehler und deren Lösung werden weiter unten aufgelistet.

Anleitung für 7G Firewall
-------------------------

[](#anleitung-für-7g-firewall)

### Allgemeines

[](#allgemeines)

- Alle hier genannten Schritte erfolgen auf eigene Gefahr. Alle Angaben ohne Gewähr.
- Es ist jedoch nicht schwer und bedarf an sich nur Grundwissen.
- Die Originalanleitung findet sich auf Englisch:

### Backup nicht vergessen

[](#backup-nicht-vergessen)

Wie immer: ein Backup hilft immer. Besonders wird hier die .htaccess bearbeitet, die unbedingt vorher (!) gesichert werden musst.

### Schritt 1: Download

[](#schritt-1-download)

- Download der Datei auf  (Version 1.2, 11KB, Stand: August 2020, Text-Datei: 7G-Firewall-v1.2.txt)

### Schritt 2: .htaccess Datei bearbeiten

[](#schritt-2-htaccess-datei-bearbeiten)

- Contao 4.9: /web/.htaccess
- Backup machen (sicher ist sicher!)
- den Inhalt aus der 7G Downloaddatei am ANFANG der .htaccess-Datei einfügen (nichts von dem vorherigen Inhalt darf überschrieben werden)
- speichern und auf den Webserver an gleicher Stelle speichern

### Schritt 3: Testen

[](#schritt-3-testen)

- Aufruf der Webseite mit z.B. "/vbulletin/" in der Adresse (z.B.: )
- es ist ein kurzer Text auf weißen Hintergrund zu sehen "Goodbye"
- der Server antwortet mit einem 403 Fehler (Forbidden)

### Zugabe: Wissen was geblockt wurde

[](#zugabe-wissen-was-geblockt-wurde)

Diese Firewall kann ggf. zu viel blocken. Dafür gibt es eine Möglichkeit ein Log zu erstellen. Die ausführliche englische Beschreibung: Bitte nutzt die ["Issue"-Funktion](https://github.com/mathContao/xG-Apache-Firewall-for-Contao/issues) hier bei Github, um eure Erfahrungen zu teilen

### Schritt 5: Logging-Funktionen vorbereiten

[](#schritt-5-logging-funktionen-vorbereiten)

- Download:  (Version 1.1, 2KB, Stand: August 2020, ZIP-Datei: 7G-Log-Blocked-Requests-v1.1.zip)
- die ZIP-Datei entpacken
- es werden 2 Dateien benötigt: \*\* 7g\_log.php (hier ist das Tool enthalten, dass das von der .htaccess aufgerufen wird und in die Log-Dateien die Daten schreibt) \*\* 7g\_log.txt (Log-Datei)
- beide Dateien auf den Server, direkt neben die .htaccess-Datei (in Contao 4.9: /web/) hochladen
- ggf. die Dateirechte anpassen (Es werden benötigt: CHMOD 644)

### Schritt 6: Log schützen

[](#schritt-6-log-schützen)

- in die .htaccess Datei am Anfang einfügen: Wenn der Apache Server Version 2.3 und kleiner ist:

```

		Deny from all

```

ab Apache Server 2.4:

```

		Require all denied

```

- Testen: Aufruf von [https://domain.tld/7g\_log.txt](https://domain.tld/7g_log.txt) erzeugt ein Forbidden (Error 403)

### Schritt 7: Logging aktivieren

[](#schritt-7-logging-aktivieren)

- .htaccess (siehe oben) öffnen
- mehrmals `RewriteRule .* - [F,L]` auskommentieren (`#` davor schreiben), `RewriteRule .* /7g_log.php?....`einkommentieren (`#` entfernen)

Beispiel Zeile 58-60: (vorher):

```
	RewriteRule .* - [F,L]

	# RewriteRule .* /7g_log.php?log [L,NE,E=7G_QUERY_STRING:%1___%2___%3]

```

(Nachher):

```
 	# RewriteRule .* - [F,L]

	RewriteRule .* /7g_log.php?log [L,NE,E=7G_QUERY_STRING:%1___%2___%3]

```

weitere Zeilen: 96-98, 113-115, 126-128, 140-142, 153-155

### Schritt 8: Log einsehen

[](#schritt-8-log-einsehen)

- per FTP die Datei /web/7g\_log.txt aufrufen
- weitere Detailinfos siehe in der Dokumentation:

Bekannte Probleme
-----------------

[](#bekannte-probleme)

### Layout defekt/CSS-Datei wird nicht mehr geladen

[](#layout-defektcss-datei-wird-nicht-mehr-geladen)

- siehe Issue#1 (inkl. Lösung): [\#1](https://github.com/math-GH/nG-Apache-Firewall-for-Contao/issues/1)

### /web/systems Ordner blockiert

[](#websystems-ordner-blockiert)

- siehe Issue#2 (inkl. Lösung): [\#2](https://github.com/math-GH/nG-Apache-Firewall-for-Contao/issues/2)

Logging Konfigurationen
-----------------------

[](#logging-konfigurationen)

In 7g\_log.php kann das Logging etwas angepasst werden:

### Logging Verzeichnis

[](#logging-verzeichnis)

`define('SEVENGLOGPATH', dirname(__FILE__) .'/');`

### HTTP Error-Code

[](#http-error-code)

`define('SEVENGSTATUS', 403); // 403 = Forbidden`

### Dateiname des Logs

[](#dateiname-des-logs)

`define('SEVENGLOGFILE', '7g_log.txt');`

### Länge des User Agents

[](#länge-des-user-agents)

`define('SEVENGUALENGTH', 0); // 0 = all`

### Angezeigter Blocked-Text

[](#angezeigter-blocked-text)

`define('SEVENGEXIT', 'Goodbye');`

Änderungsbeispiel

`define('SEVENGEXIT', '7G: Error - 403. Byebye');`

### Zeitzone des Logs

[](#zeitzone-des-logs)

`date_default_timezone_set('UTC');`

Änderungsbeispiel für die passende Zeitzone in Deutschland

`date_default_timezone_set('UTC+2');`

Erfahrungen
-----------

[](#erfahrungen)

### 3. Dezember 2020

[](#3-dezember-2020)

Meine Webseite läuft seit ca. 2 Monaten (~70 Tage) mit 7G. Das Block-Log ist ca. 1MB groß (3879 Zeilen). Die Firewall macht eine sehr gute Arbeit. Blockierte Zugriffe:

- 1375 Zugriffe von
- 122 Zugriffe von einem ominösen "python" Skripten
- 501 Zugriffe von 360Spider
- 62 Zugriffe von Ahref
- 334 Zugriffe von mj12bot
- 12 Zugriffe von SeznamBot
- Sogar die Plagiat-Prüf-Software Turnitin wollte sich hier umschauen

Sicherheit

- 24 Zugriffe einer ominösen webseite, die Ihre URL unterschummeln wollte.
- 1403 Zugriffe, die Select-Datenbank-Anfragen über die Parameter versuchte
- 408 Zugriffe, die wohl ein Benchmark-Abfrage über die CMD versuchte
- 123 Zugriffe suchten nach wp-content oder wp-admin

Im Wiki finden sich nun Beispiele, die schadhafte Angriffe dokumentieren, die geblockt wurden.

---

Lizenz: MIT (siehe LICENCE.md)

###  Health Score

20

—

LowBetter than 14% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~14 days

Recently: every ~0 days

Total

11

Last Release

1954d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/901155?v=4)[mathC](/maintainers/mathC)[@mathc](https://github.com/mathc)

---

Top Contributors

[![math-GH](https://avatars.githubusercontent.com/u/1645099?v=4)](https://github.com/math-GH "math-GH (54 commits)")

---

Tags

7g-firewallcontao-cmshtaccess-dateisecuritycontaoapachefirewallhtaccessSicherheitSpam-Schutz7G FirewallJeff Starr

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/mathcontao-ng-apache-firewall-for-contao/health.svg)

```
[![Health](https://phpackages.com/badges/mathcontao-ng-apache-firewall-for-contao/health.svg)](https://phpackages.com/packages/mathcontao-ng-apache-firewall-for-contao)
```

###  Alternatives

[akaunting/laravel-firewall

Web Application Firewall (WAF) package for Laravel

999465.8k2](/packages/akaunting-laravel-firewall)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
