相关疑难解决方法(0)

HTTP_CLIENT_IP和HTTP_X_FORWARDED_FOR有什么区别?

据我所知,HTTP_X_FORWARDED_FOR代理服务器设置了一个标头,用于标识通过代理发出HTTP请求的主机的IP地址.我听说过标题HTTP_CLIENT_IP是出于类似目的设置的.

  1. HTTP_CLIENT_IP和之间有什么区别HTTP_X_FORWARDED_FOR
  2. 为什么一个人的价值观不同于另一个?
  3. 我在哪里可以找到有关这些标题的确切定义的资源.

proxy header http ip-address

62
推荐指数
1
解决办法
7万
查看次数

在Heroku上获取客户端的真实IP地址

在Heroku Cedar上,我想获得客户端的IP.第一次尝试:

ENV['REMOTE_ADDR']
Run Code Online (Sandbox Code Playgroud)

当然,这不起作用,因为所有请求都通过代理传递.所以替代方案是使用:

ENV['HTTP_X_FORWARDED_FOR']
Run Code Online (Sandbox Code Playgroud)

但这不太安全,是吗?

如果它只包含一个值,我就拿这个.如果它包含多个值(以逗号分隔),我可以选择第一个值.

但是,如果有人操纵这个价值呢?我不能相信ENV['HTTP_X_FORWARDED_FOR'],我可以用ENV['REMOTE_ADDR'].并且我也没有可以使用的可信代理列表.

但总是必须有一些方法来可靠地获取客户端的IP地址.你知道吗?

他们的文档中,Heroku描述了X-Forwarded-For"连接到Heroku路由器的客户端的原始IP地址".

听起来好像Heroku可能会X-Forwarded-For用原始的远程IP 覆盖它.这样可以防止欺骗,对吧?有人可以验证吗?

http ip-address heroku

31
推荐指数
2
解决办法
2万
查看次数

标签 统计

http ×2

ip-address ×2

header ×1

heroku ×1

proxy ×1