Golang 中国

fising

Golang China 第 1060 号会员,加入于 2014-02-11 11:10


fising最近创建的主题


7 求助个问题,看书看到这里看不懂了
问与答fising • 2017-11-30 15:18 • 最后回复来自 fising
1 谁能给个 regexp 包多行匹配模式的例子?
问与答fising • 2015-08-25 17:46 • 最后回复来自 fising
1 http://godoc.golangtc.com/ 502啦!
反馈fising • 2014-10-30 11:02 • 最后回复来自 jimmykuu
3 如何找到自己发布的主题?
问与答fising • 2014-10-16 16:00 • 最后回复来自 jimmykuu
5 这段代码的输出是什么?为什么?
问与答fising • 2014-10-03 18:09 • 最后回复来自 fising
9 请问 .a 是什么文件?如何使用 .a文件?
问与答fising • 2018-05-09 11:04 • 最后回复来自 songleo
5 建议站长把一个JS放到tc来,不然文档打开很慢啊~
反馈fising • 2014-08-31 20:22 • 最后回复来自 jimmykuu
14 在HTTP handler中引用全局变量,为何有的可以,有的却报告引用地址错误?
问与答fising • 2014-08-31 11:43 • 最后回复来自 fising
5 请问golang中如何解析ini文件?
问与答fising • 2014-08-31 11:02 • 最后回复来自 fising
fising 创建的更多主题

fising最近回复了


回复了 hamax7979 创建的主题: http 服务器只服务特定ip问题 2018-07-17 17:05
package main

import (
    "net/http"
    "strings"
)

type Handler struct{}

func (h *Handler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
    if strings.Split(r.RemoteAddr, ":")[0] != "127.0.0.1" {
        w.Write([]byte("Access denied."))
    } else {
        w.Write([]byte("Hello, world!"))
    }
}

func main() {
    http.ListenAndServe(":8080", &Handler{})
}

上面的例子仅仅服务 127.0.0.1 这个客户端

回复了 hamax7979 创建的主题: http 服务器只服务特定ip问题 2018-07-17 16:18

楼主你完全没有理解 ListenAndServe 函数。

文档上面是这样说的:ListenAndServe listens on the TCP network address addr …

它的第一个参数其实是欲监听的本地网络接口的地址,并不是客户端的 IP 地址。

想要实现你说的功能,两个方法吧:

  1. 防火墙阻止其他 IP 地址,而对目标 IP 地址放行
  2. 在应用层获取客户端 IP 地址,如果与目标 IP 不一致,则 DENY 这个请求。
回复了 newmin 创建的主题: 上海实力软件公司招聘(GO/Java/Kotlin)语言工程师 2017-11-30 22:05

从工资看没有实力啊 :)

回复了 fising 创建的主题: 求助个问题,看书看到这里看不懂了 2017-11-30 15:18

@jimmykuu @hejiajie1989 这里应该属于类型断言。

返回的是接口类型,需要具体的 struct 才能调用自己的方法。

类型转换的语法:<目标类型> ( <表达式> )
类型断言的语法:<表达式>.( 目标类型 )

回复了 fising 创建的主题: 求助个问题,看书看到这里看不懂了 2017-11-29 09:08

@jimmykuu 帮忙看看啊,看了 3 楼的回复我又糊涂了。

回复了 fising 创建的主题: 求助个问题,看书看到这里看不懂了 2017-11-24 10:58

conn.(*dbConnection) 应该是属于类型断言(type assertion)

回复了 jimmykuu 创建的主题: Go 1.5.1 发布,Bug 修复版本 2015-09-11 11:04

本站的下载页为啥不更新啊。

fising 创建的更多回复