如何在不使用HTTP请求中使用主机头的情况下获取服务器名称

时间:2018-09-12 10:18:37

标签: scala security playframework

在我的Play 2.5.x(Scala)Web应用程序中,我正在使用以下技术来获取路由的绝对URL(服务器名称+ uri):

controllers.routes.MyController.MyRoute.absoluteURL()

我最近发现它在传入的HTTP请求中使用Host标头返回绝对URL。不建议使用Host标头,因为它很容易进行Host标头注入攻击。 有获取服务器名称的安全方法吗?

1 个答案:

答案 0 :(得分:1)

看看Play! CSRF攻击防护和Allowed Hosts配置的实现。

您可以使用后者指定已知主机,它将拒绝来自未知主机的请求。