如何检查是否正在从代理请求页面

本文关键字:代理 请求 是否 何检查 检查 | 更新日期: 2023-09-27 17:50:25

我有一个页面:http://example/mypage

有一个代理请求到我的页面:

http://proxy/?url=http://example/mypage

我怎样才能知道页面是在没有代理的情况下从空白页面打开的,还是由代理请求的?

如何检查是否正在从代理请求页面

通常不能。当请求到达您的HTTP服务器时,您所拥有的关于客户端的唯一信息是其IP地址和客户端决定在请求头中发送给您的任何其他信息。你能做的最好的事情是在某种数据库中查找IP地址,看看它是否是一个已知的代理。

如果你正在寻找一个特定的代理,你希望在请求头中传递特定的信息,那完全是另一回事。但一般来说,我可以从我的客户端发送一个Web请求,让它看起来像一个代理,或者我可以从代理发送一个请求,让它看起来像直接来自客户端。

我怀疑不会有可靠的方法来做到这一点,因为匿名代理试图…嗯,匿名……您可以尝试检查HttpContext.Request.UrlReferrer是否有一些值,但这并不可靠。你可以检查一些已知代理IP地址的数据库,但我怀疑这也不是很可靠。