Heim >Backend-Entwicklung >PHP-Tutorial >Wird PHP-Code nach einer „header('Location: ...')'-Umleitung ausgeführt und wie kann dies verhindert werden?
Vermeidung der Ausführung von Post-Redirection-Code in PHP
Beim Durchführen von Umleitungen mithilfe der Header-Funktion ('Location:..') in PHP , ist es üblich, einen Exit einzuschließen; -Anweisung anschließend, um die Ausführung von nachfolgendem Code zu verhindern. Dies wirft die Frage auf, ob Code nach der Header-Funktion noch ausgeführt werden kann und wenn ja, in welchen Szenarien.
Kann Post-Redirection-Code ausgeführt werden?
Ja , Code nach der Header-Funktion kann weiterhin ausgeführt werden. Die Header-Funktion sendet nur eine Anfrage zur Umleitung an den Browser, der Rest der Seite wird jedoch weiterhin von PHP bereitgestellt und kann möglicherweise vom Client angezeigt werden.
So verhindern Sie die Codeausführung
Um die Ausführung von Code nach der Umleitung zu vermeiden, wird der Exit; Die Anweisung muss unmittelbar nach der Header-Funktion verwendet werden. Dadurch wird sichergestellt, dass die gesamte PHP-Ausführung stoppt und der Server nur mit dem Redirect-Header antwortet.
Ausnutzung durch böswillige Benutzer
Ein böswilliger Benutzer kann den Header-Aufruf ignorieren, indem er a verwendet Befehlszeilen-Client wie wget mit der Option --no-redirect. Dadurch können sie den Seiteninhalt anzeigen, der vor der Umleitung bereitgestellt worden wäre.
Best Practice
Daher ist es wichtig, immer den Exit zu verwenden; Anweisung nach der Header-Funktion, um die Ausführung von Post-Redirection-Code zu verhindern und vor potenziellen Sicherheitslücken zu schützen.
Das obige ist der detaillierte Inhalt vonWird PHP-Code nach einer „header('Location: ...')'-Umleitung ausgeführt und wie kann dies verhindert werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!