Verhindern des direkten Dateizugriffs in PHP
In der Welt der Webentwicklung ist es wichtig, den Zugriff auf vertrauliche Dateien zu kontrollieren, insbesondere auf solche, die ausschließlich für diesen Zweck bestimmt sind zur Einbindung in andere Skripte. Ein häufiges Problem tritt auf, wenn auf solche Dateien direkt über die URL zugegriffen werden kann, was zu potenziellen Sicherheitslücken führt.
Um dieses Problem zu beheben, bietet PHP eine unkomplizierte Lösung, mit der Sie den direkten Zugriff auf enthaltene Dateien beschränken können. Durch die Implementierung einer einfachen bedingten Prüfung können Sie unbefugte Versuche, diese Dateien direkt auszuführen, abschrecken.
Um diesen Schutz effektiv zu implementieren, befolgen Sie diese Schritte:
1. Überprüfen Sie die Referrer-Quelle
Öffnen Sie die PHP-Datei, die Sie ausschließlich als Include verwenden möchten. Fügen Sie den folgenden Code am Anfang der Datei hinzu:
if (!isset($_SERVER['HTTP_REFERER'])) { die('Direct access not permitted'); } $current_url = $_SERVER['HTTP_REFERER']; $allowed_url = 'https://example.com/page_that_includes_this_file.php'; if ($current_url != $allowed_url) { die('Direct access not permitted'); }
2. Definieren Sie eine Konstante
Fügen Sie in der PHP-Datei, die die geschützte Datei enthält, am Anfang den folgenden Code hinzu:
define('MY_CONSTANT', TRUE);
Erklärung:
Der erste Codeteil prüft, ob die Anfrage von der erwarteten verweisenden URL stammt (in diesem Fall von der Seite, die die Datei enthalten sollte). Wenn der Referrer nicht gesetzt ist oder nicht mit der erlaubten URL übereinstimmt, wird eine Fehlermeldung generiert.
Der nächste Teil des Codes definiert eine Konstante namens „MY_CONSTANT“ in der Include-Datei. Auf den Seiten, die es enthalten, definieren Sie diese Konstante auf TRUE und stellen so sicher, dass die Seite rechtmäßig auf die Datei zugreifen kann.
Durch die Implementierung dieses Mechanismus können Sie den direkten Zugriff auf die Include-Datei effektiv verhindern und so deren Integrität und Sicherheit gewährleisten Verhinderung unbefugter Ausführung.
Das obige ist der detaillierte Inhalt vonWie kann ich den direkten Zugriff auf enthaltene PHP-Dateien verhindern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!