2017-10-11 105 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

相关问题