2009-07-20 15 views
1

Webrickプロセスにアクセスするための非ローカルホストの試みをすべてブロックしようとしています。これは現在のコードですNon-localhostを拒否するWebrickにアクセスしようとする

def do_GET(req, res) 
    host_name = "localhost:3344".split(":")[0] 
    if host_name != "localhost" && host_name != "127.0.0.1" 
     puts "Security alert, accessing through #{host_name}" 
     return 
    else 
     puts "we're fine, #{host_name}" 
    end 
# etc. 

これは簡単ですか?私の考えは、ホスト名がWebサーバー自体に偽装するのは難しいということです。

答えて

2

多分ちょうどローカルホストのIPアドレス127.0.0.1にサーバーをバインドして、あなたは文句を言わない非ローカルホストの接続を心配する必要があります。

s = WEBrick::HTTPServer.new(:Port => 3344, :BindAddress => "127.0.0.1") 
s.start 

(上記のコードは、私の頭の上からですが、イムあなたはアイデアを得てください)

+0

素晴らしいです。私はあなたの例からこれを理解します。ありがとうございました! –

+0

言及を忘れた:これは完全に動作し、実際にはあなたが言う通りです。 –

+0

クール、それはあなたのために働いてうれしい:) – QAZ

関連する問題