限制我的多路复用器中的主机可以防止 CSRF 攻击吗?

does limiting the host in my mux prevent CSRF attacks?

如果我将我的多路复用路由器限制为仅接受来自我的域的请求,那么是否可以防止 CSRF 攻击?

例如,在我的 golang 服务器中,我的所有请求都通过我的 baseRouter:

baseRouter := mux.NewRouter().Host(`{sub:.*}.myDomain.com`).Subrouter()

所以这是否意味着如果用户在另一个站点 some.attacker.net 上向我的服务器发送请求,那么它只会为每个请求返回 404,因为我的服务器不会处理来自其他域的任何请求,从而防止 CSRF 攻击,还是我基于一些误解?

否,因为当 attacker.example.commysite.example.org 发送 POST 时,主机 header 将被设置为 mysite.example.org

Gorilla has a package to enable you to protect against Cross Site Request Forgery.