在我当前的 Play 2 应用程序中,登录会话在 5 分钟后超时。当用户随后单击应用程序中的任何链接时,他们将被重定向到登录页面。成功验证后,它们将被重定向到主页。
我已经实现了一个系统,用户在被重定向到登录页面之前被重定向到他们试图到达的页面。
系统是这样工作的:当会话过期的用户点击一个内部链接时,Deadbolt 确定他们没有登录并将他们重定向到登录页面。在重定向之前,它从请求头中获取目标 url 并将其存储在会话中。用户在下一页填写登录表单后,将详细信息提交给身份验证操作。如果身份验证成功,则该操作检查会话中是否存在目标 url;如果是,它会从会话中清除该项目并重定向到目标 url,如果不是,它会重定向到主页。
目标 url 在持续时间内以字符串形式存在,并被输入到play.mvc.Results.redirect( String url )
方法中。
我想知道这是否会为我的应用程序打开任何潜在的攻击媒介?