Zugriffe von Bots einschränken
Das EGOCMS bietet Schutzmaßnahmen gegen übermäßigen Zugriff von Bots (die sogenannte Botbremse). Diese können die Serverlast stark erhöhen und somit die Bedienbarkeit der Webseite für reguläre Besucher einschränken oder gar unmöglich machen. Das EGOCMS blockiert in bestimmten Fällen den Zugriff von Bots und gibt diesen die Anweisung, es später erneut zu probieren. Die EGOCMS Version 26.2.0 liefert entscheidende Anpassungen und Erweiterungen zu diesen Maßnahmen.
Botbremse
- Die Standard Obergrenze für die Botbremse, die bei zu hoher Serverlast den Zugriff von Bots blockiert, liegt nun bei 50%. Die Obergrenze kann weiterhin eingestellt werden.
- Alle vom EGOCMS ausgelösten Botbremsen antworten mit einem 429 Too Many Requests Status Code und einem Retry-After 300 (5 Minuten) Header.
- Die Anzahl an parallelen Bot Zugriffen pro Sekunde wird auf 30 beschränkt (unabhängig der IP). Dieser Wert kann über "Verwaltung > System > Sicherheit" angepasst werden.
- Diese Maßnahme ist nur aktiv, wenn die Obergrenze der Serverlast nicht bereits erreicht wurde. Außerdem muss das PHP Modul APCu installiert und aktiviert sein.
- Das EGOCMS Image liefert in den Nginx Einstellungen ein aktiviertes Rate Limit, welches maximal 5 Seitenaufrufe pro Sekunde von der selben IP zulässt.
- Die Berechnung der Serverlast über das top.sh Skript erfolgt nun alle 5 Sekunden. Die kürzeren Intervalle unterstützen die Botbremse dabei rechtzeitig einzugreifen.
Features
- Frontend Administration:
- Wurde zuletzt ein favorisierter Block eingefügt, wird bei der nächsten Block-Auswahl die Favoriten-Gruppe automatisch ausgewählt.
- Wird die Block Toolbar für eine kurze Zeit fokussiert, werden alle Toolbars von eventuell aktiven Editoren im Block ausgeblendet. Das soll das Überlappen beider Toolbars verhindern.
- Die TinyMCE Editoren in Blöcken werden nur noch initialisiert, wenn diese fokussiert werden (z. B. mit der Maus oder einem Drag & Drop Event). Das beschleunigt das Laden des Reiters "Inhalt" für Seiten mit sehr vielen Blöcken und Editoren.
- Ausgenommen sind leere Elemente. Diese werden immer sofort initialisiert, weil nur dann der Platzhalter für das leere Element sichtbar ist.
- Systemcheck:
- Das Protokoll der letzten Ausführung wird in var/log/systemcheck.log geschrieben.
- Das Tool ffmpeg wird im Systemcheck geprüft und erzeugt eine Warnung, falls es nicht installiert ist. Existiert es nicht, können bestimmte Features nicht genutzt werden.
- QR Code:
- Die Smarty Funktion {qr} kennt die Parameter quietzone und color (Details).
- Das QR Code Tool einer Seite kann in der Vorschau auch die Umrandung und die Farbe des QR Codes ändern. Diese Einstellungen werden auch für den Download der QR Code Grafik angewendet.
- Die ausgewählte Farbe wird während der Browsersitzung wiederverwendet.
- Im QR Code Tool ist der Permalink immer automatisch vorausgewählt, da dies die empfohlene URL ist, die für eine Seite als QR Code verwendet werden sollte.
- Materialkit Design:
- In den Design Einstellungen können IDs für Google Tag Manager und Meta Pixel eingetragen werden. Wird mindestens eines davon verwendet, ist ein Cookie Consent notwendig, für welchen man den angezeigten Text einstellen kann.
- Der Block "Kontaktformular" setzt automatisch ein Captcha, wenn der Mandant und die Seite keine Ansichtsbeschränkung haben.
- Das Standard Übertragen Recht kann pro Mandant eingestellt werden (standardmäßig dürfen das weiterhin nur Superuser). Dieses gilt immer zusätzlich zu dem für einzelne Seiten gesetzte Übertragen Recht und kann für einzelne Seiten auch nicht entfernt werden.
- REST API: Die Page Rechteprüfung nach Ansicht wird nur dann ausgeführt, wenn nicht explizit auth_or 1=1 übergeben wurde.
- Auf dem Reiter "Information" werden die Daten für "erstellt", "geändert" und "veröffentlicht" immer sofort beim Speichern aktualisiert.
- Die Darstellung des Mediapools wurde auf ein Grid-System geändert.
- Für den AD Import kann auf dem Reiter "Exchange" ein regulärer Ausdruck eingestellt werden, welcher Benutzernamen findet, die nicht importiert werden dürfen.
- Neben dem type_regex Parameter wird nun auch der Parameter type_regex_exclude unterstützt (umgekehrte Prüfung).
Kompatibilität
- Im Formular Block "Text" erzeugt der Typ "Datum" keine Warnung mehr, dass das Element nicht in allen Browsern unterstützt wird. Alle modernen und aktuellen Browser unterstützen mittlerweile dieses Element.
- Die Dateisystem Icons werden nun dynamisch generiert. Das Verzeichnis bin/admin_skin/egotec/img/icons/ wurde entfernt. Falls Sie noch Icons aus diesem Verzeichnis referenzieren, können Sie stattdessen dynamische Dateisystem Icons verwenden.
Performance
- Das Cron Skript zum Aufräumen der Rechte Tabellen, für nicht mehr existierende Benutzer, wurde optimiert.
- Die Ermittlung, ob ein Zugriff von einem Bot erfolgt oder um welches Ausgabegerät es sich handelt, wurde stark beschleunigt.
Bugfixes
- Die Mediapool Sortierung funktioniert wieder.
- Wird der Collabora Editor für Mediapool Dateien verwendet, wurde der Dialog fehlerhaft dargestellt.
- WebDAV: Multimedia Dateien werden eindeutig über den Namen und dem Dateityp im Extrafeld identifiziert, so dass mehrere Dateien mit dem selben Namen, aber unterschiedlichen Dateitypen, in der selben Ebene möglich sind.