? Mein Skript hat jetzt angebelich einen Server überlastet.

fx001

Erfahrenes Mitglied
Hallo,

ich habe für einen Bekannten eine Seite mit einem Admin Menü zur Verwaltung des Inhalts erstellt.

Die lief jetzt fast 3 Jahre ohne Probleme. Jetzt bekam mein Bekannter diese Nachricht:

Betreff: Überlastung des Servers durch Ihre Webseite xxxxxxxxx.de [NMM:0A32C80]

Sehr geehrter Herr xxxxx,

soeben mussten wir feststellen, dass Ihre Webseite xxxxxxxx.de einen Selbsinclude verursacht. Dadurch wurden die Ressourcen auf dem Server sehr schnell verbraucht und alle Webseiten, auch die der anderen Kunden auf dem Server, waren nicht mehr erreichbar. Der Selbstinclude passiert, sobald Ihre Webseite aufgerufen wird.

Folgender Aufruf findet sich unzählige male im Accesslog des Server:

xxxxxxxx.de/index.php?indexseite=files

In folgenden Dateien gibt es diesen Aufruf:

index.php
projekte/projekte_impressum/index.php
projekte/projekte_kontakt/index.php
projekte/neuesprojekt/index.php

Wir mussten diesen Eintrag in den 4 Dateien auskommentieren um den Selbstinlcude zu stoppen. Wir bitten Sie Ihre Webseite zu überprüfen. Hier der Code mit den 2 Zeilen die wir auskommentieren mussten:

$verzname=$verzeichnisname[$projpos + 1]; //Gibt das siebte (array0) wort zwischen / aus
#include "$rootverzeichnis/projekte/$verzname/index.php?indexseite=files";
}else{
#include "$rootverzeichnis/index.php?indexseite=files";
}

Bei weiteren Fragen stehen wir Ihnen gern zur Verfügung.

Mit freundlichen Grüßen




Kann mir einer sagen, was das zu bedeuten hat und evtl. direkt nen Tip geben was ich tun kann, damit das nicht wieder passiert?
 
Frag sie mal bitte was ein "Selbstinclude" seien soll...
Ich tippe ja auf eine endlose Rekursion aber die Terminolgie ist mir nicht bekannt 0o
 
Du hast bei dir lokal doch siche XAMPP oder ähnliches am laufen. Dann übertrage die Dateien doch mal auf deinen Rechner und rufe sie auf.

Dann siehst du a) was passiert und kannst b) den Wert von $verzname bzw. die include-Anweisung mal mit echo ausgeben.

PHP:
#include "$rootverzeichnis/projekte/$verzname/index.php?indexseite=files";
#include "$rootverzeichnis/index.php?indexseite=files";
// ändern in
echo "$rootverzeichnis/projekte/$verzname/index.php?indexseite=files";
echo "$rootverzeichnis/index.php?indexseite=files";

Wird dann wohl auf das hinauslaufen was Hinhamster bereits geschrieben hat. Wobei sich am Skript, an den Dateinamen und/oder an den Verzeichnissen geändert haben muss. Sonst wäre es nicht erst jetzt aufgetreten!?

Gruß Thomas
 
Hallo, ich lass mir nochmal seine Daten schicken und frag bei denen nach.

Wenn es ein self-include ist, was müsste dann normalerweise geändert werden?

Soweit ich das jetzt verstehe geht es um *.php?indexseite=admin

damit rufe ich das adminmenü auf. Ist das nicht zulässig?

(Auf nem eigenem Server kann ich es leider nicht ausprobieren um zu sehen, was passiert.)
 
Wenn es ein self-include ist, was müsste dann normalerweise geändert werden?
Dann hättest du so etwas wie

Skript a inkludiert Script b
Skript b inkludiert Script c
Skript c inkludiert Script a

Das wäre eine zirkulärer Aufruf und den müsstest du mal beheben.

Soweit ich das jetzt verstehe geht es um *.php?indexseite=admin

damit rufe ich das adminmenü auf. Ist das nicht zulässig?
Doch, das ist zulässig. Der Fehler wird wohl innerhalb deines Codes liegen aber das hat nix damit zu tun, dass es das Adminmenu ist ;)
 
Zurück