限制我的多路复用器中的主机可以防止 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.com
向 mysite.example.org
发送 POST 时,主机 header 将被设置为 mysite.example.org
。
Gorilla has a package to enable you to protect against Cross Site Request Forgery.
如果我将我的多路复用路由器限制为仅接受来自我的域的请求,那么是否可以防止 CSRF 攻击?
例如,在我的 golang 服务器中,我的所有请求都通过我的 baseRouter:
baseRouter := mux.NewRouter().Host(`{sub:.*}.myDomain.com`).Subrouter()
所以这是否意味着如果用户在另一个站点 some.attacker.net 上向我的服务器发送请求,那么它只会为每个请求返回 404,因为我的服务器不会处理来自其他域的任何请求,从而防止 CSRF 攻击,还是我基于一些误解?
否,因为当 attacker.example.com
向 mysite.example.org
发送 POST 时,主机 header 将被设置为 mysite.example.org
。
Gorilla has a package to enable you to protect against Cross Site Request Forgery.