gpt4 book ai didi

web-applications - 如何从客户端使用 http 代理的 Web 应用程序检测 - 为什么缺少 XFF header ?

转载 作者:行者123 更新时间:2023-11-28 23:53:51 27 4
gpt4 key购买 nike

我尝试从 Web 应用程序中发现客户端是否使用透明代理。理论上应该很简单:只需检查 XFF (x-forwarder-for) header 是否存在。但是由于某些未知原因,这根本不起作用。
我在通过公司透明代理连接到互联网的办公室工作。如果我去任何“ip-proxy-check”页面,例如http://www.my-proxy.com/show-what-ip#anonymity比它显示来 self 们代理的 X-forwarded-for header 。所以,据我所知,我们的公司代理正确设置了这个 header 。但是当我连接到我们的 Web 应用程序(在 Tomcat 上运行,在一些公共(public)的外部服务器上运行)时,在我的 Web 应用程序中我列出了所有 HTTP header ,没有 X-forwarded-for header 、x-via 等。
我以为那是服务器故障,所以我在完全不同的 Web 服务器上启动了这个 web 应用程序,由不同的提供商托管:但结果是一样的,没有与代理相关的 header 可用。所以我认为 Tomcat 可能会阻止此类 header ,但是当我从一些允许我手动设置自定义 header 的工具进行连接时,我使用 XFF header 发送请求时,我的 webapp 会正确地看到该 header 。所以它没有被网络服务器阻止。
所以 - 谁能帮助我理解它是如何工作的?为什么当我从同一个浏览器和同一台机器导航到像 my-proxy.com 这样的页面时,那些页面声称有代理设置的代理特定的 http header ,但是当我导航到我的应用程序时,应用程序却看不到这样的标题?

最佳答案

要结束这个问题:事实证明,我在我的 webapp 服务器上使用了非标准 HTTP 端口 (8080) 进行测试 - 当端口不同于 80 时,代理不会添加其 header 。另一方面,当使用 https 时,显然代理不会添加任何 header ,因为传输是经过编码的。

关于web-applications - 如何从客户端使用 http 代理的 Web 应用程序检测 - 为什么缺少 XFF header ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3832318/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com