如何检查是从localhost还是从外部访问网页?

时间:2013-08-18 10:41:31

标签: network-programming go

  1. 如何从Go查看是从本地主机还是从外部访问网页?

  2. 如何为外部用户禁用某些功能?

  3. 如何隐藏整个网站,例如“nope,此处没有任何内容,端口8080关闭,移动”。

1 个答案:

答案 0 :(得分:5)

  1. 要检查是否从外部访问网站,请检查远程IP地址。如果它不是来自127.0.0.1或:: 1(IPv6)那么它就在外面。使用函数func (*IPConn) RemoteAddr

  2. 要禁用某些功能,请检查以上条件。

  3. 要隐藏整个站点,请仅将服务绑定到localhost接口(127.0.0.1)。

  4. 结合

    net.Listen("tcp", "localhost:8080")
    

    net.Listen("tcp6", "ip6-localhost:8080")
    

    使用http包

    http.ListenAndServe("localhost:8080", nil)