可以信任传递给Heroku应用程序的Host头吗?

Jan*_*bel 2 heroku

我正在开发可通过多个域访问的Heroku应用程序.我需要区分请求与哪个特定域相关.例如,这需要构造Location标头中返回的资源的绝对URL .

我是否可以信任Host到Heroku应用程序的请求中的标头始终指向与应用程序关联的域(默认xyz.herokuapp.com域或添加了heroku domains:add命令的域之一)?

我知道用户可以将此标头设置为任何值,但Heroku前端服务器需要进行某种过滤以将请求分派给正确的应用程序.这个过滤子弹证明足以信任Host标题吗?

Tim*_*Tim 5

如果请求到达您的应用程序,则Host标头将是为您的应用程序配置的标头.

如果主机头不是你的,那么Heroku服务器会将请求发送到其他地方.

您可以通过发送错误的主机在命令行上证明这一点.例如:

$ curl "http://ismy.herokuapp.com" -H "Host: notmy.herokuapp.com"

所以,你的问题的答案是肯定的.我相信它.