加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – IP地址过滤

发布时间:2020-12-16 19:15:03 所属栏目:百科 来源:网络整理
导读:我正在考虑为我的Rails SaaS应用程序实现IP地址过滤.简而言之,我希望管理员能够指定一个或多个IP地址(或一系列IP地址),然后我的应用程序只接受来自指定地址的实例上的请求. 我正在寻找使用IPAddress(http://github.com/bluemonk/ipaddress)来解析/验证每个地
我正在考虑为我的Rails SaaS应用程序实现IP地址过滤.简而言之,我希望管理员能够指定一个或多个IP地址(或一系列IP地址),然后我的应用程序只接受来自指定地址的实例上的请求.

我正在寻找使用IPAddress(http://github.com/bluemonk/ipaddress)来解析/验证每个地址/地址范围.这是一个不错的选择还是有更好/更合适的库?

有没有人实现过这种过滤,可以描述一种对他们有用的方法,还是有任何我需要担心的陷阱?

或者,是否有一个现有的Ruby库可以自动处理所有这些,并设法逃避我的谷歌搜索?

非常感谢,

解决方法

ipaddress是一个很棒的库(我知道作者),但除非你计划对IP地址执行一些高级操作,否则你可能不需要它.

事实上,最简单的方法是

>存储IP地址数组以过滤某处.您可以使用字符串表示形式(192.168.1.1)或long int表示形式.使用字符串版本,您甚至可以允许使用通配符(192.168.1.*)
>然后在控制器中配置一个before_filter,它将加载禁止的IP列表并执行简单的字符串匹配,以检查当前的request.ip_address(rails 3中的request.remote_ip)是否与禁止的IP匹配.如果为true,则重定向到错误页面.

如您所见,您甚至不需要将IP转换为IP对象,除非您需要执行其他类型的操作.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读