少数のIPアドレスといくつかのIPサブネットを除いて、Rails3アプリケーションへのアクセスをブロックする正しい方法を模索してきました。
これを行う方法を探している間、私はこの質問/回答を見つけました。推奨されるコードは次のとおりです。
アプリケーションコントローラー
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にサブネットを追加する最も簡単でクリーンな方法は何ですか?