Stack Over Flowにはphp - Should I call exit() after calling Location: header?とdo i need to use exit after header("Location: http://localhost/...");?のような多くの類似した質問があります。php - Location:ヘッダーを呼び出した後にexit()を呼び出す必要があるのはなぜですか?
以下のような回答があります。
間違いはありません。そうでなければ、スクリプト実行は で終了しません。別のヘッダーだけを設定しても、リダイレクトするには不十分です。
-
ヘッダ()が自動的に実行されるから スクリプトを停止することはありませんので、あなたは、exit()を呼び出す必要があり- またはそれがない場合には(私は正直にその上の100%ではありませんよ)、 それは間違いなくスクリプトを即座に停止しません。
しかし、誰かがスキップしたり、コードをバイパスする方法がheader('Location: http://www.example.com/login.php')
のようにわからないのですか?誰かがそれをやりますか?これはPHPコードなので。このコードはサーバーで実行されます。もし誰かがこのコードをスキップ/バイパスできれば、なぜスキップ/バイパスできないのですか?exit()
?
通常、リダイレクトを強制したい場合、リダイレクトの下のどのようなコーディングが実行されるので、 'die( 'Location:redirect_url')); ' です。サーバーの処理はリダイレクトより高速です。 – bugscoder
それは私が推測するコードの構造とコードにアクセスする方法に依存します。誰かがウェブを介してコードにアクセスするためにcurlを使用している場合、おそらくリダイレクトに従っていない可能性があります。 – RamRaider
これは必須ではありませんが、exitを使用すると、リダイレクト時に以下のコードは実行されません。 – Nawin