相关疑难解决方法(0)

如何在Rails 4应用程序中禁用IP Spoofing检查?

我在Rails 4应用程序上遇到以下错误:

ActionDispatch :: RemoteIp :: IpSpoofAttackError:IP欺骗攻击?!HTTP_CLIENT_IP ="xx.xx.xx.xx"HTTP_X_FORWARDED_FOR ="xx.xx.xx.xx"

我们不需要这种类型的安全检查,所以经过一些谷歌搜索我发现:

https://github.com/rails/rails/issues/10780

当中间代理在HTTP_CLIENT_IP和HTTP_X_FORWARDED_FOR中插入用户IP地址,并且此地址是私有的时,ActionDispatch :: RemoteIp会引发IpSpoofAttackError异常.

当企业代理在标头中包含用户的IP地址时,这通常是私有的.只有当地址与HTTP_CLIENT_IP中找到的地址不完全匹配时,才应该从HTTP_X_FORWARDED_FOR中包含的链中删除私有IP地址.如果匹配,那应该是用户的IP地址.

例如,在以下环境中会发生这种情况:

HTTP_CLIENT_IP:172.17.19.51 HTTP_X_BLUECOAT_VIA:ffffffffffffffff HTTP_X_FORWARDED_FOR:172.17.19.51 REMOTE_ADDR:xxx.xxx.xxx.xxx(这将是一个公共IP地址)


这里有一个修复:

作为解决方法,我在config/application.rb中禁用了此检查:

config.action_dispatch.ip_spoofing_check = false

然而,这似乎不适用于Rails 4.什么是新的调用,如何在网站范围内设置它?

ruby-on-rails spoofing

8
推荐指数
2
解决办法
3820
查看次数

标签 统计

ruby-on-rails ×1

spoofing ×1