2010-10-11 34 views

回答

4

在這裏真的需要die()嗎?

這是:否則,客戶端仍然會在響應正文中獲取HTML代碼。標頭請求客戶端終止並轉到新頁面,但它不能強制它。

客戶端總是可以繼續收聽響應,並接收之後輸出的所有內容,這是一個致命的安全漏洞,例如,在保護登錄區域中的敏感數據時。

0

是的。簡單地生成標題,即使是Location標題,也不會終止當前腳本。 HTML輸出將在例如一個數據包嗅探器。

1

是的,需要die()。對header("Location: some-location.php")的調用將指定的標頭(本例中爲302重定向)發送到瀏覽器;但它不會終止腳本。如果重定向語句之後的行包含可能無意中執行的PHP代碼,則這變得更加重要。因此,如果想要發送重定向報頭並中止任何進一步處理,您必須調用die,exit,return或任何其他類似的構造。

請注意,在發送重定向頭之後,可以執行進一步處理