1

我有一个 AJAX 应用程序,它将调用一个 servlet 来运行报告并返回一个 PDF。这一切都很好,除了用户将看到一个网页,该网页将包含报告名称和他们的客户 ID。更改客户 ID 将允许他们为另一个人运行相同的报告。哎呀!

我记得一些关于 URL 重写的事情,它被可疑地用于会话管理。我想知道我是否可以只修改我的 servlet 中的 URL,以便用户返回的内容不会被黑客攻击以获取其他报告。我该怎么办?

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

谢谢。

4

3 回答 3

0

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

这假设控制流不能因为 Ajax 而更容易完成并且一次做两件事。

于 2013-02-15T15:44:54.703 回答
0

好吧,正如 GarethL 在他的评论中所说,用户应该必须登录。然后您可以将客户 ID 存储在会话中并使用它而不是参数。

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

于 2013-02-15T15:45:06.310 回答
0

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

谢谢。

于 2013-02-22T17:13:19.020 回答