access.log
Fred
- webserver
Moin moin,
ich habe seit langem mal wieder in die access.logs geschaut und bin über solch eine Zeile gestolpert:
144.91.83.0 - - [16/Nov/2021:23:59:54 +0100] "GET /start/index.php/sonstiges/aktiv/aktiv/aktiv/aktiv/2019-Harz/aktiv/2019-Harz/sonstiges/biker.html/sonstiges/biker.html/sonstiges/aktiv/aktiv/aktiv/aktiv/aktiv/aktiv/aktiv/2019-Harz/aktiv/aktiv/sonstiges/sonstiges/aktiv/2019-Harz/ HTTP/1.1" 200 3695 www.gwfb.de "-" "Mozilla/5.0 (compatible; MJ12bot/v1.4.8; http://mj12bot.com/)" "-"
Da wird also die /start/index.php aufgerufen, aber was soll der Schrott da hinten dran? Das sind zwar alles existierende Verzeichnisse bzw. Dateien, aber wie kommt dieser Aufruf zustande und wird auch noch sauber mit einem 200er beantwortet?
Das werden wahrscheinlich nur die Betreiber des MJ12bot wissen.
Gruß
Fred
Hallo Fred,
wie das zustande kommt, kann ich nur spekulieren. Ein Bug?
Warum das mit 200 beantwortet wird?
Wenn start/index.php existiert, landet das ganze übrige Geraffel in $_SERVER['PATH_INFO'].
Rolf
Hallo Rolf,
wie das zustande kommt, kann ich nur spekulieren. Ein Bug?
Den "Bug" hab ich kurzerhand in der Robots.txt ausgesperrt.
Warum das mit 200 beantwortet wird?
Wenn start/index.php existiert, landet das ganze übrige Geraffel in $_SERVER['PATH_INFO'].
Ah okay, soweit gehen meine php Kenntnisse (noch) nicht.
Fred
Hallo Fred,
es könnte natürlich auch sein, dass Du fehlerhafte Links auf deiner Seite hast. Wenn Du eine an vielen Stellen includierte Navigation hast, die dazu führt, dass in /start/index.php
ein Link auf href="sonstiges"
statt href="/sonstiges"
steht - oder vielleicht auch nur einmal stand, und der Bot hat das gecached - dann kann das Verfolgen dieser Links zu einer solchen URL führen.
Rolf
Hallo Rolf,
nein, die Navigation ist nicht includiert, eine gewöhnliche Liste:
<li><a href="/aktiv/">Aktivitäten</a></li>
Fred
Tach!
Wenn start/index.php existiert, landet das ganze übrige Geraffel in $_SERVER['PATH_INFO']. Ah okay, soweit gehen meine php Kenntnisse (noch) nicht.
Das ist ein Apache-Verhalten. PHP hat damit nichts zu tun, außer dass es eine von vielen vom Apachen bereitgestellte Information über $_SERVER zugänglich macht.
dedlfix.
Hallo dedlfix,
Das ist ein Apache-Verhalten. PHP hat damit nichts zu tun, außer dass es eine von vielen vom Apachen bereitgestellte Information über $_SERVER zugänglich macht.
Dank dir für die Info.
Hallo dedlfix,
Das ist ein Apache-Verhalten.
Apache macht das, ja. Aber es kommt letztlich aus der CGI Spezifikation. Hat Apache die erfunden?
Letztlich steht es dann hier aufgeschrieben (von 2004):
https://www.ietf.org/rfc/rfc3875.html#section-4
Rolf
Hello,
ich vermute ein MOD-REWRITE auf deinem Server, das alle Anfragen (auch auf nicht vorhandene URLs) auf die index.php umleitet. Und dann ein mehrfaches Redirect. Da kann der Fehler sowohl bei Dir, als auch beim Robot liegen.
Das sieht mir aus, wie das Ende eines Ping-Pong-Spiels zwischen Requester und Responder.
Man müsste zuerst auch die anderen Requests von der IP kennen.
So ein Spiel kann sich allerdings auf über mehrere Requester-IPs hinziehen. Gründe hierfür sind ein eigenes Thema.
Glück Auf
Tom vom Berg
Hallo
ich vermute ein MOD-REWRITE auf deinem Server, das alle Anfragen (auch auf nicht vorhandene URLs) auf die index.php umleitet. Und dann ein mehrfaches Redirect. Da kann der Fehler sowohl bei Dir, als auch beim Robot liegen.
Also die .htaccess sieht so aus:
ErrorDocument 404 /general/404.html
ErrorDocument 401 /general/401.html
ErrorDocument 403 /general/403.html
Redirect 301 /start/index.html /start/index.php
Redirect 301 /start/index.shtml /start/index.php
RewriteEngine On
RewriteCond %{HTTPS} =off
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
<Files *.inc.php>
order allow,deny
deny from all
</Files>
Man müsste zuerst auch die anderen Requests von der IP kennen.
Das sind über 6.000 Zeilen im gestrigen access.log
Fred
MJ12bot
Manchmal dreht der leer (Keine Ahnung ob Fehlkonfiguration oder Programmfehler). Hatte bei dem dergleichen auch schon.
Den "Bug" hab ich kurzerhand in der Robots.txt ausgesperrt.
Hm. Ich auch.
User-agent: SemrushBot
Disallow: *
User-agent: MJ12bot
Disallow: *