我正在尝试阻止所有非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.
这容易打破吗?我的想法是主机名很难欺骗网络服务器本身。
答案 0 :(得分:2)
也许只是将服务器绑定到localhost的ip地址127.0.0.1然后你不必担心非localhost连接:
s = WEBrick::HTTPServer.new( :Port => 3344, :BindAddress => "127.0.0.1" )
s.start
(上面的代码不在我的脑海,但我相信你明白了)