Это вопрос, состоящий из двух частей. Мне нужно ограничить сайт rails, который я размещаю на сервере разработки, только несколькими IP-адресами, чтобы общедоступный не может получить к нему доступ. (Базовая HTTP-аутентификация не работает «полностью», поскольку аутентификация нарушает загрузчик Flash в проекте.)
На основании того, что я искал в Google, это то, что я придумал в мой файл маршрутов ...
class WhitelistConstraint
def initialize
@ips = '127.0.0.1'
end
def matches?(request)
@ips.include?(request.remote_ip)
end
end
MyProject::Application.routes.draw do
constraints WhitelistConstraint.new do
# all my routing stuff here
end
end
Работает неплохо, однако мне нужно изменить его, чтобы работать с несколькими IP-адресами. Я пробовал использовать массив на @ips, а также перебирать каждый цикл, но ни один из них не работал.
Вдобавок ко всему, вторая часть моего вопроса ... Мне может понадобиться проверить только по сегменту IP, например, 127.0.0. Как мне это сделать?