我一直在尝试找出阻止对 Rails 3 应用程序访问的正确方法,除了少量 IP 地址和几个 IP 子网。
在寻找方法时,我发现了这个问题/答案。建议的代码如下:
应用控制器
before_filter :protect
def protect
@ips = ['127.0.0.1', '203.123.10.1'] #And so on ...]
if not @ips.include? request.remote_ip
# Check for your subnet stuff here, for example
# if not request.remote_ip.include?('127.0,0')
render :text => "You are unauthorized"
return
end
end
这行得通,所以我将其更改为重定向到静态页面,而不仅仅是文本消息。
不过,我想做的是允许从与 Rails 应用程序服务器位于同一子网上的本地 IP 进行访问。子网很简单192.168.1.0/24
。
将子网添加到接受的 IP 的最简单/最干净的方法是什么?