gpt4 book ai didi

ruby-on-rails - IP地址过滤

转载 作者:数据小太阳 更新时间:2023-10-29 06:53:09 25 4
gpt4 key购买 nike

我正在考虑为我的 Rails SaaS 应用实现 IP 地址过滤。简而言之,我希望管理员能够指定一个或多个 IP 地址(或一系列 IP 地址),然后我的应用程序只接受来自指定地址的实例请求。

我正在考虑使用 IPAddress ( http://github.com/bluemonk/ipaddress ) 来解析/验证每个地址/地址范围。这是合适的还是有更好/更合适的库?

有没有人实现过这种过滤,谁能描述一种对他们有用的方法,或者有什么我需要担心的陷阱?

或者,是否有一个现有的 Ruby 库可以自动处理所有这些,但我的谷歌搜索却逃过了一劫?

非常感谢,灰

最佳答案

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

其实最简单的方法就是

  1. 存储 IP 地址数组以在某处进行过滤。您可以使用字符串表示形式 (192.168.1.1) 或长整型表示形式。使用字符串版本,您甚至可以允许通配符 (192.168.1.*)

  2. 然后在 Controller 中配置一个 before_filter,它将加载被禁止的 IP 列表并执行简单的字符串匹配以检查当前 request.ip_address (request.remote_ip in rails 3) 匹配一个禁止的 IP。如果为真,则重定向到错误页面。

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

关于ruby-on-rails - IP地址过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3764477/

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