Fehlerhafte URL Aufrufe korrigieren ?
Ich habe letztes Jahr meinen Internetauftritt von Hmtl auf Php umgestellt. Bei den meisten Seiten verwende ich nur die include funktion um die für mehrere Seiten gültigen Daten auf dem Server einzufügen, insbesondere den Seitenkopf und die Randspalten mit den Menuaufrufen.
Das erleichtert mir Änderungen und funktioniert gut, bis vor kurzem jedenfalls. Seit etwa zwei Monaten gibt es erweiterte falsche Aufrufe, wie ich aus der URL-Statistik sehe. z.B. richtig: http://www.die-bruecke.info/schweinf..._gemeinden.php falsch: http://www.die-bruecke.info/schweinf...-jerusalem.php http://www.die-bruecke.info/schweinf...chweinfurt.php Keine Ahnung, wie diese Aufrufe zu Stande kommen. Vom Hoster Strato habe ich keine Hilfe bekommen. Die Ausgangsseite wird falsch angezeigt, da die Bilder und css Datei nicht erkannt werden. Auf meinem PC mit localhost sieht es genauso aus. Es gibt zur Zeit mehr falsche als richtige Aufrufe. Kann man mit php die falschen Aufrufe korrigieren. Wenn ja, sollte das in die include Dateien integriert werden. oder wie werde ich die Spam Aufrufe los |
AW: Fehlerhafte URL Aufrufe korrigieren ?
Ich sage es frei heraus: die Struktur ist der blanke Horror.
Also:Aufräumen!! Deine falschen Aufrufe sind das Resultat, wenn man sich nicht an Standards b.z.w "Best Practice" hällt. Du hast zum Einen die Datei sch_gemeinden.php und gleichzeitig das Verzeichnis sch_gemeinden.php. Sowas macht man nicht. Ein simpler Slash am Ende der Url, irgendwoe im Code, würfelt dein ganzes Script durcheinander. Todo Lösch das Verzeichnis sch_gemeinden.php, b.z.w benne es um, dann kann es nicht mehr versehentlich aufgerufen werden b.z.w kleiner Codeunsauberheiten führen nicht mehr dazu, dass man sich in deiner Ordnerstruktur verirrt. .htaccess kann den direkten Zugriff auf ein Verzeichnis verweigern. Code:
|
AW: Fehlerhafte URL Aufrufe korrigieren ?
Danke für die Antwort ! Aber ein Verzeichnis sch_gemeinden.php habe ich nicht angelegt und wird auch nirgendwo angezeigt, trotzdem führen diese Aufrufe zu einer allerdings falschen Anzeige.
Da nur vier php Seiten von derartigen Aufrufen betroffen sind, habe ich mich zunächst damit beholfen, dass die Seiten nach dem ersten Aufruf mit onload und einer zugehörigen javascript Funktion nochmal mit richtigem Aufruf erneuert werden. Das funktioniert auf meinem Arbeitsrechner im Verzeichnis localhost und bei meiner Domain bei Strato. Beim ersten Versuch habe ich eine Endlosschleife erzeugt, was sich aber beseitigen liess. |
AW: Fehlerhafte URL Aufrufe korrigieren ?
Nachdem ich keine sinnvollen Hinweise bekommen habe, habe ich eine für mich befriedigende Lösung gefunden, die ich in meinen ersten include file einfügen konnte.
<?php $seite = $_SERVER["PHP_SELF"]; $pos1 = stripos($seite, '.php/'); if ($pos1 >> 0) { $ip = $_SERVER["REMOTE_ADDR"]; $servername = $_SERVER["SERVER_NAME"]; $browser = $_SERVER["HTTP_USER_AGENT"]; date_default_timezone_set("Europe/Berlin"); $heute = date("H:i:s - d.m.Y"); // echo" $heute "; $filename_info="bruecke_info.txt"; ... $text= ""; $text = $text . "Datum= $heute <br>\n"; $text = $text . "Seitenaufruf=$seite <br>\n"; .... $fp = fopen ($filename_info, 'a+' ); fwrite($fp, $text); fclose($fp); exit(); } ?> Die Datei "bruecke_info.txt" wird z.B. wie folgt beschrieben: ____ B1 _____________ Datum= 23:11:58 - 29.03.2015 <br> Seitenaufruf=/schweinfurt/sch_gemeinden.php/bilder/reisebilder/sch_waechter_gebet.php <br> browser=Mozilla/5.0 (Windows NT 6.1; WOW64; rv:36.0) Gecko/20100101 Firefox/36.0 <br> Gesendet von ip=2003:76:4d6d:c5c2:a9c9:a5e6:d8e7:575b <br> ___B2__________________________________ Datum= 23:14:21 - 29.03.2015 <br> Seitenaufruf=/schweinfurt/sch_gemeinden.php/be-je/home/sch_gemeinden.php <br> browser=Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) <br> Gesendet von ip=66.249.67.72 <br> Warum diese Aufrufe generiert werden ist unklar, mal abwarten, wielange es anhält? |
AW: Fehlerhafte URL Aufrufe korrigieren ?
Hi,
Zitat:
Zitat:
Zitat:
Das schrieb aber schon sysop Zitat:
Zitat:
von mir betreuten Shops zeigen ;) PHP-Code:
MfG CKaos |
AW: Fehlerhafte URL Aufrufe korrigieren ?
[QUOTE=Ckaos;147666]Hi,
Wenn man sich den Quelltext anschaut kein Wunder. Hast Du dir den Quelltext der Seite http://www.die-bruecke.info/schweinf..._gemeinden.php angesehen? Hier gibt es keine Probleme mit dem Bezug auf Grafik und andere Dateien. Ein Verzeichnis: http://www.die-bruecke.info/schweinf...gemeinden.php/ gibt es nicht! Warum der Php Parser den Aufruf ohne Fehlermeldung annimmt weiss ich nicht. Dasgleiche auf meinem PC mit XAMPP unter http://localhost/die-bruecke/schwein..._gemeinden.php mfg Ich habe wie vorgeschlagen gegoogelt und die Erklärung gefunden für das was passiert: http://blog.oncode.info/2008/05/07/p...scripting-xss/ Nehmen wir an, es gäbe eine Datei /subdir/mypath.php welche so aussieht: <?php echo "<pre>"; echo "REQUEST_URI: ".$_SERVER['REQUEST_URI']."\n"; echo "PHP_SELF: ".$_SERVER['PHP_SELF']."\n"; echo "SCRIPT_NAME: ".$_SERVER['SCRIPT_NAME']."\n"; echo "</pre>"; ?> Bei einem Aufruf von: http://localhost/subdir/mypath.php/a...nse.php?para=4 mappt Apache netterweise alles auf unsere Datei http://localhost/subdir/mypath.php und verstaut den Rest im $_SERVER Array. Die Ausgabe ist: ... Das passiert offensichtlich nicht nur auf http://localhost sondern auch auf meiner Webseite bei Strato. Ich suche ja nur nach diesen falschen Aufrufen und stoppe den Seitenaufbau. Das PHP bei Strato kann ich nicht ändern, aber ich habe auf das Problem hingewiesen. Gibt es eine Reaktion ???? |
AW: Fehlerhafte URL Aufrufe korrigieren ?
Statt $_SERVER['PHP_SELF'] nimm einfach $_SERVER['SCRIPT_NAME'] und gut is.
Dem Code nach kann man nicht wirklich ersehen, was da passiert, offenbar wird da irgendwo geparsed oder mit rewrite etwas umgeschrieben, ansonsten kann ich mir das auch nicht erklären, wieso ein h_ttp://..../schweinfurt/sch_gemeinden.php/bilder/bilder/schweinfurt.php überhaupt ein Ergebnis liefert. Gäbe es das Verzeichnis http:...../sch_gemeinden.php/ nicht müsste ein 404 Fehler kommen. |
AW: Fehlerhafte URL Aufrufe korrigieren ?
Gäbe es das Verzeichnis http:...../sch_gemeinden.php/ nicht müsste ein 404 Fehler kommen.
_ Es gibt das Verzeichnis http:...../sch_gemeinden.php/ nicht Es wird die Datei http:...../sch_gemeinden.php aufgerufen. Und in dieser Datei wird jetzt nach dem Fehler gefragt und wenn er auftritt der Bildaufbau mit exit(); gestopt. Das gleiche funktioniert auch mit anderen ...php Dateien auch in anderen Verzeichnissen und der Fehler bewirkt keine Fehlermeldung 404. Den Verbesserungsvorschlag mit SCRIPT_NAME statt PHP_SELF habe ich übernommen. Danke mfg |
AW: Fehlerhafte URL Aufrufe korrigieren ?
Nochmal ich, dann lasse ich dich in Ruhe, habe das Gefühl, ich nerve schon.
Es mag ja sein, dass du das Verzeichnis nicht finden kannst, dann ist es aber wahrscheinlich, dass über deine .htaccess ein rewrite erstellt wird. In diesem Fall ist ein Abfangen mittels exit() nicht sinnvoll. Irgendwo muss diese URL ja herkommen und dass sie aufgelöst wird, sollte dir zu Denken geben. Auf diese Art kann man dir schnell ein Script unterschieben, dass dann macht, was es will. |
Alle Zeitangaben in WEZ +2. Es ist jetzt 11:05:39 Uhr. |
Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.