湮灭URL

时间:2013-02-15 15:37:10

标签: java java-ee

我有一个AJAX应用程序,它将调用servlet来运行报告并返回PDF。这一切都很有效,只是会向用户显示一个具有报告名称和客户ID的网页。更改客户ID将允许他们为另一个人运行相同的报告。糟糕!

我记得有些关于URL重写的内容,这些内容被怀疑地用于会话管理。我想知道我是否可以修改我的servlet中的URL,以便用户获取的内容不能被黑客攻击以获取其他报告。我该怎么做呢?

另外,有没有人有更好的主意?

感谢。

3 个答案:

答案 0 :(得分:0)

只需使用(匿名)会话ID作为文件部分。让servlet通过添加会话ID来传输文件系统中的文件。

这假设由于Ajax并且一次做两件事,控制流程不能更容易完成。

答案 1 :(得分:0)

好吧,正如GarethL在他的评论中已经说过的那样,用户应该必须登录。然后你可以在会话中存储客户ID并使用它来代替参数。

问题是你首先需要以某种方式确认用户的身份,最简单的方法是密码。

答案 2 :(得分:0)

我最终编写了一个代理servlet来复制内容。这是由在会话中存储URL参数的哈希键触发的。这给了我所需的所有安全保障。

感谢。

相关问题