Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich den direkten Zugriff auf enthaltene PHP-Dateien verhindern?

Wie kann ich den direkten Zugriff auf enthaltene PHP-Dateien verhindern?

DDD
Freigeben: 2025-01-01 09:11:15
Original
366 Leute haben es durchsucht

How Can I Prevent Direct Access to Included PHP Files?

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');
}
Nach dem Login kopieren

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);
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage