2009-08-10 13 views
0

enthalten Ich habe ein PHP-Skript PayPal eStores/dl_paycart aber es hat PayPal eStores "settings.php" Security Bypass Vulnerabilityverhindern einen direkten Zugang zu einem PHP-

Ich mag würde wissen, ob ich Datei direkten Zugang zu einem PHP verhindern können, umfassen.

Würde dies helfen?

defined('_paycart') or die('Access to this directory is not permitted'); 

Danke

+6

Könnten Sie klarer. –

+1

@ Chacha102 - das ist urkomisch – ChssPly76

+0

Ich werde nicht einmal versuchen, dies zu bearbeiten .. es ist zu unklar. –

Antwort

1

Ich würde einige neue Skript zu finden, sehr empfehlen. Jede Art von Blockierung steckt nur einen Finger in den Damm; Es ist keine dauerhafte Lösung und wird irgendwann kaputt gehen.

Wenn Sie es wirklich verwenden möchten, überprüfen .htaccess-Dateien, vor allem „Order Allow, Deny“ und „von Deny All“

1
  1. Die Tatsache, dass das Skript eine Erweiterung .php hat bietet einen gewissen Schutz - Jeder HTTP- oder HTTPS-Aufruf für diese Datei wird über den Webserver laufen, der den PHP ausführen wird, bevor er die Anfrage bedient.

  2. Ich würde empfehlen, das Skript in ein Verzeichnis in Ihrem öffentlichen Webverzeichnis zu verschieben und die .htaccess-Datei in dieses Verzeichnis zu stellen, das entweder alle Anfragen blockiert oder ein Passwort für den Zugriff benötigt. Fügen Sie das Skript dann bei, wenn es von Skripts in Ihrem öffentlichen Verzeichnis benötigt wird. Apache's .htaccess Tutorial Siehe

+0

Er sucht nach PHP 'include' Schutz, nicht HTTP-Schutz. –

0

Wahrscheinlich der sicherste Weg ist so etwas wie dies

$allowed_files = array("/paths/", "/that/", "/are/", "/allowed/"); 
if(!in_array($_SERVER['PHP_SELF'], $allowed_files)) 
{ 
    die("Not Allowed"); 
} 

das Array Füllen Sie mit Dateien, die Sie mögen Zugang haben. (Sie müssen möglicherweise auf jeder Seite auf PHP self zugreifen und diese kopieren und einfügen). Dadurch wird überprüft, ob die ausgeführte Datei eine der erlaubten Seiten ist. Wenn es nicht ist, wird das Skript sterben.

Ich glaube, $ _SERVER könnte geändert werden, aber wahrscheinlich nicht. Diese Datei kann immer noch mit fopen oder file_get_contents abgerufen werden, und wenn jemand sie liest, werden sie wissen, was geändert werden soll.

Aber ich würde vorwarnen, es ist nicht "völlig sicher", weil es nicht wirklich einen Weg gibt, etwas "vollständig" sicher zu machen.

1

Das Problem ist, dass, wenn jemand in der Lage ist, "include" zu verwenden und den Code-Inhalt, Variablen und dergleichen zu lesen, bedeutet dies, dass sie bereits auf dem gleichen Server arbeiten, und etwas grob, du ' Entbeinen, wenn sie versuchen, mit dir zu schrauben.

Wenn Sie andererseits versuchen, den Zugriff von außen auf die Datei von einem Remote-Server aus zu verhindern, kann der Include-Aufruf nur die Werte abrufen, die auf einer externen Site angezeigt werden würden (und wenn die Frage "Kann ich verhindern, dass externe Sites diese Datei sogar remote laden? Die Antwort lautet" über Serverkonfigurationen in http.conf- und .htaccess-Dateien ".

Die lange und die kurze, ist jedoch, dass dies nicht etwas ist, das wirklich mit PHP behoben werden kann, das ist ein Server Sicherheitsproblem.

Verwandte Themen