Schutz der PHP-Datei vor direktem Zugriff

Lesezeit: 2 Minuten

Benutzer-Avatar
Omar Abid

Ich habe etwas WordPress-PHP-Code auf GitHub gelesen und festgestellt, dass der Autor (ein Senior WordPress-Entwickler) diese Codezeile am Anfang jeder Datei eingefügt hat:

defined('ABSPATH') or die("Cannot access pages directly.");

Wie schützt dies die Datei vor direktem Zugriff? Kann ein Hacker nicht einfach die Konstante ABSPATH definieren und dann die Datei laden?

Und warum ist der direkte Zugriff gefährlich?

Diese Konstante ist wahrscheinlich in der PHP-Hauptdatei von WordPress festgelegt. Wenn sie also nicht festgelegt ist, greifen Sie nicht auf die Hauptseite zu.

Konstanten sind nichts, was ein Benutzer ändern kann, sie befinden sich im Code und können nur durch Bearbeiten der PHP-Datei geändert werden. Wenn also ein Hacker diese Konstante setzen könnte, dann hätten Sie größere Probleme, denn dazu müsste er tatsächlich Ihre PHP-Dateien bearbeiten.

Der direkte Zugriff ist vielleicht nicht gefährlich (zitieren Sie mich nicht), aber er ist sinnlos. Der direkte Zugriff auf ein WordPress-Plugin (zum Beispiel) bringt nichts, da das Plugin durch WordPress laufen muss.

defined('ABSPATH') or die("Cannot access pages directly.");   

diese Konstante ist in den Root-Dateien wie index.php definiert.
Es dient zur Überprüfung, ob ABSPATH definiert ist, damit diese Datei in Root oder einer anderen Datei enthalten ist.
und kein direkter Zugriff mit URL .
Dies ist eine der besten Möglichkeiten, Dateien vor direktem Zugriff zu schützen

Normalerweise können Sie serverseitige Variablen nicht deklarieren, damit dies sicher ist.

Höchstwahrscheinlich hat eine andere Seite diese Variable nach bestimmten Kriterien festgelegt (Bestätigung bestehen, IP oder alles, was Sie wollen).

Wie gesagt, diese Seite allein funktioniert nicht, weil sie diese Variable von irgendeiner Software lesen muss (ein Include oder die Seite ist enthalten).

Direkter Zugriff kann gefährlich sein, da der Hacker Ihre Geschäftslogik ausarbeiten und möglicherweise Wege finden kann, sie zu umgehen (auch bekannt als Dinge, die nicht im Code geschrieben sind, um sich selbst zu schützen).

Eine andere Möglichkeit besteht darin, dass Dinge fest in das Programm einprogrammiert sind, die zu einem direkten Zugriff auf Datenbanken führen, Kenntnisse über Ihr Netzwerk erlangen usw.

1373370cookie-checkSchutz der PHP-Datei vor direktem Zugriff

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy