我需要尝试欺骗通过我的另一个页面的HTTP_REFERER,以便在目标页面中,我可以确定请求是从“正确的”进入的。页面并执行适当的逻辑。

  1. 我如何在JavaScript(AJAX)中执行此操作?
  2. 我可以在ASP.Net中这样做吗?
  3. TIA 公羊

有帮助吗?

解决方案

一般来说,如果没有漏洞,插件或其他扩展,您不能让其他浏览器返回错误的HTTP_REFERER。如果要修改从Web浏览器发送的值并使用FireFox,请查看修改标题扩展名

在任何情况下,您都不应该依赖HTTP_REFERER的准确性。无法保证您收到的HTTP_REFERER不是伪造的,也不能保证不发送。

其他提示

如果您想在目的地页面测试请求是否来自“正确”的请求。页面,你不需要欺骗引用者。您需要做的就是从其他页面发出请求。在与您认为“正确”的网址不同的网址上设置网页。一,并通过点击指向目标网页的链接或通过放置来自目的地的图像来发出请求。

已经提到你不能真正欺骗事物。但是要澄清一下,HTTP_REFERER标头是由浏览器生成的,所以在服务器端你无法控制它(包括交换javascript的东西,可能启用也可能不启用)。 / p>

如果您只想测试页面对某些标题的响应(例如“Referer:”),您可以使用命令行工具,例如卷曲 wget 和Linux变种(包括OS / X)。如果您使用的是MS Windows,则可以使用 Cygwin 进行curl或wget。

    wget -O - --referer="http://example.com/some/path" http://example.com/

    curl -e "http://example.com/some/path" http://example.com/

但你这样做的核心理由显然是“保护”。一个页面,我想。如果你真的想确保只在首先访问某个其他页面(“A”)之后访问页面(称之为“B”),那么在服务器端需要更复杂的逻辑。

如果您要存储会话Cookie,那么您可以在页面“A”上嵌入一些逻辑。设置一个布尔变量。然后在页面“B”上添加逻辑。检查以确保已设置变量。

我将把它作为练习让读者弄清楚如何在ASP.NET中执行此操作。 (因为我是PHP程序员。; - ])

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top