2017-10-11 101 views

回答

1

其實,你無法做到的事情(在瀏覽器中)是得到302響應。第二個是你會得到的唯一一個。這行爲是有目的的,如Fetch API spec說:

重定向不暴露的API(其狀態或內部響應的(如果有的話)的狀態是一個重定向狀態的響應)。公開重定向可能會泄露無法通過跨站點腳本攻擊獲得的信息。

在node.js中,您可以隨時停止重定向。

+0

該示例說明:「https://example.org/auth的抓取包含標記爲HttpOnly的Cookie可能導致重定向到https://other-origin.invalid/4af95578​​1ea1c84a3b11。這個新的URL包含一個祕密。如果我們公開重定向,那麼通過跨站腳本攻擊就可以獲得祕密。「我完全迷失了」如果我們暴露重定向「,這意味着什麼?這個重定向網址實際上是暴露的,我們可以從響應頭中看到這個重定向網址,我們不能? – Blake

+0

但瀏覽器中的JavaScript代碼根本看不到該響應。只有遵循所有重定向後,它纔會看到鏈中的最後一個響應。瀏覽器將會看到302響應,並且按照它的位置標題,而不會讓JavaScript知道它。 – Touffy

相關問題