Posts Tagged ‘htaccess’

Sonntag, 14. April 2019

Apache meldet HTTP 403

Kürzlich hatte ich ein seltsames Problem, dass eine Web-Site bei einem Hosting-Anbieter beim Zugriff auf einen Unterordner folgende Fehlermeldung ausspuckte:

Im Pfad und im Unterordner war aber keine .htaccess-Datei vorhanden, die solche Zugriffe verhindert hätte. Nach einigen Minuten pröbeln und googlen dann die Lösung:

Die Verzeichnisse im Pfad zur index.php wiesen fehlerhafte Unix-Permissions auf; anstelle 755 war 700 eingestellt. Mit Transmit passte ich die Permissions an, und das Script reagierte darauf wie erwartet.

Tags: , , , , , , , , , ,
Labels: Web

Keine Kommentare | neuen Kommentar verfassen

Samstag, 7. Juli 2018

AhrefsBot und SEMrush Spider mit .htaccess blocken

Diese zwei Spider, deren Zweck (und Hintermänner) ich trotz folgender zwei erläuternden Seiten immer noch nicht verstehe, gehören geblockt:

Hauptgrund ist, dass sie (immer wieder) uralte URLs aufrufen, die nicht mehr existeren, obwohl dies von meinem CMS auch korrekt mit dem HTTP-Code 410 Gone zurückgemeldet wird:

The HyperText Transfer Protocol (HTTP) 410 Gone client error response code indicates that access to the target resource is no longer available at the origin server and that this condition is likely to be permanent.

If you don’t know whether this lack is temporary or permanent, a 404 status code should be used instead.

Quelle: 410 Gone

Nun gut, dann bleibt halt nur noch das drastischste Mitte mittels .htaccess:

...
RewriteCond %{HTTP_USER_AGENT} SemrushBot [OR]
RewriteCond %{HTTP_USER_AGENT} AhrefsBot
RewriteRule .* - [R=429]
...

Noch kurz getestet:

$ wget "https://www.domain.tld/" --user-agent "Mozilla/5.0 (compatible; AhrefsBot/5.2; +http://ahrefs.com/robot/)"
--2018-07-07 13:34:33--  https://www.domain.tld/
Auflösen des Hostnamens www.domain.tld (www.domain.tld)… 1.2.3.4
Verbindungsaufbau zu www.domain.tld (www.domain.tld)|1.2.3.4|:443 … verbunden.
HTTP-Anforderung gesendet, auf Antwort wird gewartet … 429 Too Many Requests
2018-07-07 13:34:33 FEHLER 429: Too Many Requests.
$ wget "https://www.domain.tld/" --user-agent "Mozilla/5.0 (compatible; SemrushBot/2~bl; +http://www.semrush.com/bot.html)"
--2018-07-07 13:34:52--  https://www.domain.tld/
Auflösen des Hostnamens www.domain.tld (www.domain.tld)… 1.2.3.4
Verbindungsaufbau zu www.domain.tld (www.domain.tld)|1.2.3.4|:443 … verbunden.
HTTP-Anforderung gesendet, auf Antwort wird gewartet … 429 Too Many Requests
2018-07-07 13:34:52 FEHLER 429: Too Many Requests.

Passt. Und jetzt herrscht hier Ruhe (und meine Log-Files bleiben leer).

Ah, und vielleicht sollte man sich noch vergewissern, dass alle anderen Browser durchkommen — Kollateralschäden wollen wir ja wennmöglich vermeiden:

$ wget "https://www.domain.tld/"
--2018-07-07 13:47:31--  https://www.domain.tld/
Auflösen des Hostnamens www.domain.tld (www.domain.tld)… 1.2.3.4
Verbindungsaufbau zu www.domain.tld (www.domain.tld)|1.2.3.4|:443 … verbunden.
HTTP-Anforderung gesendet, auf Antwort wird gewartet … 200 OK
Länge: nicht spezifiziert [text/html]
Wird in »index.html« gespeichert.

index.html.1                                                       [ <=>]  21,90K  --.-KB/s    in 0,005s  

2018-07-07 13:47:31 (4,07 MB/s) - »index.html« gespeichert [22421]

Tags: , , , , , , , , , , ,
Labels: Web

1 Kommentar | neuen Kommentar verfassen

Montag, 8. Mai 2017

Die nervende WAF von Cyon deaktivieren

Gut gemeint, funktioniert aber nicht: Die Cyon WAF (Web Application Firewall).

Gerade eben kämpfte ich massiv mit meinem Server bei Cyon, deren WAF und meiner WordPress-Installation: Den Artikel tftp funktioniert über NAT nicht wollte der Server partout nicht speichern und gab stattdessen einen HTTP 403 zurück. Wahrscheinlich enthielt das Web-Formular zu viele „gefährlich“ tönende Befehle.

Das Problem behebt man ganz einfach, indem man die .htaccess der WordPress-Installation um folgende Zeilen ergänzt:

...
<IfModule mod_security2.c>
SecFilterEngine Off
SecFilterScanPOST Off
</IfModule>
...

Tags: , , , , , ,
Labels: Web

Keine Kommentare | neuen Kommentar verfassen

Samstag, 27. August 2016

PHP-Fehlermeldungen ausser E_DEPRECATED loggen

Unter Apache (.htaccess oder VirtualHost-Konfiguration) stellt man dies folgendermassen ein:

...
php_value error_reporting 24575
...

Den ersten Hinweis lieferte How to disable deprecated messages in Joomla?. Doch die dort angegebene Konstante (22527) ist überholt, weil PHP 7 neue Fehlerkonstanten mitbringt, welche noch hinzuaddiert werden müssen.

Hierfür habe ich mich der Liste unter Error Handling — Predefined Constants bedient, und

32767 - 8192 = 24575

berechnet.

Tags: , , , , ,
Labels: Linux

Keine Kommentare | neuen Kommentar verfassen