Отказ от попыток нелокального хоста получить доступ к Webrick - PullRequest
1 голос
/ 20 июля 2009

Я пытаюсь заблокировать все не локальные попытки доступа к процессу 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.

Это легко сломать? Я думаю, что имя хоста трудно подделать самому веб-серверу.

1 Ответ

2 голосов
/ 20 июля 2009

Может быть, просто привязать сервер к IP-адресу localhost 127.0.0.1, и тогда вам не придется беспокоиться о соединениях не-localhost:

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

(приведенный выше код не в моей голове, но я уверен, что вы поняли)

...