当前位置:  开发笔记 > 后端 > 正文

如何判断请求是否来自代理?

如何解决《如何判断请求是否来自代理?》经验,为你挑选了2个好方法。

是否可以检测是否通过代理服务器发出传入请求?如果Web应用程序通过IP地址"禁止"用户,他们可以通过使用代理服务器来绕过这一点.这只是阻止这些请求的一个原因.怎么能实现这一目标?



1> Darin Dimitr..:

恕我直言,没有100%可靠的方法来实现这一点,但任何以下标头的存在都强烈表明请求是从代理服务器路由的:

via:
forwarded:
x-forwarded-for:
client-ip: 

您还可以在客户端域名中查找代理pxy.



2> Adam Davis..:

如果正确设置代理服务器以避免检测代理服务器,您将无法分辨.

大多数代理服务器都会像其他人提到的那样提供头文件,但代理服务器上不会出现那些完全隐藏用户的内容.

您需要采用多种检测方法,例如cookie,代理头检测以及可能的IP启发式方法来检测这种情况.有关此情况的一些信息,请查看http://www.osix.net/modules/article/?id=765.还要考虑使用代理黑名单 - 它们由许多组织发布.

但是,没有什么是100%肯定的.您可以采用上述策略来避免大多数简单的情况,但最终它只是一系列形成TCP/IP事务的数据包,并且TCP/IP协议不是根据当今关于安全性,身份验证等的想法开发的. .

请记住,许多公司出于各种原因部署公司范围的代理,如果您只是作为一般规则阻止代理,则必然会限制您的受众,这可能并不总是可取的.但是,这些代理通常会使用适当的标头声明自己 - 您最终可能会阻止合法用户,而不是擅长隐藏自己的用户.

-亚当

推荐阅读
吻过彩虹的脸_378
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有