【发布时间】:2014-06-28 20:56:51
【问题描述】:
我正在使用 Play 2.2,我需要发送包含我的应用程序链接的电子邮件(用于注册目的)。 目前,电子邮件由 API 触发(基本上说“我想请求访问此应用程序”)。管理员收到一封电子邮件,可以接受或拒绝请求,并使用一次性令牌机制确保安全。
我正在使用反向路由和 absoluteURL() 方法来确定我需要在电子邮件中插入的 url 是什么。这不能硬编码,因为应用程序在不同的环境/域名上运行,所以我希望它是动态的。
但是 absoluteURL 使用请求作为隐式参数并从 Host 标头中获取 URL。可以伪造具有不同“主机”标头的请求并将其发送到我的应用程序,这可能会导致电子邮件具有类似http://evil.com/acceptRequest?token=gfdklhggfd 的链接 令牌是合法的,因为它实际上是由我的应用程序生成的。
有没有更好的方法来做到这一点而没有安全问题?
【问题讨论】:
标签: security request playframework-2.2