【问题标题】:jsp refers to an PDF streaming servlet - security questionjsp 指的是 PDF 流 servlet - 安全问题
【发布时间】:2010-10-07 13:42:53
【问题描述】:

在我们的防火墙后面的某个地方有一个装满 PDF 的服务器。 PDF 包含私人信息,因此我需要限制对 PDF 的访问。公众可以登录我们的网站并索取他们的 PDF。

我们的软件最近投入生产。我们将它们重定向到 PDF 服务器的 URL。这失败了,因为公众无法访问我们的 PDF 服务器。这是一件好事,尽管我更希望在发布之前证明这一点。

我编写了一个 PDF servlet,它将 PDF 流式传输到用户的浏览器。我们的 JSP 使用<Object> HTML 标记来引用 servlet。原型工作正常。

我不希望 The World 直接访问 servlet,因为有人可能会修改 URL 并不恰当地抓取 PDF。

现在,最后,我的问题。如果 servlet 在防火墙后面,JSP 能否成功引用 PDF servlet? PDF 会内嵌显示吗?用户会得到“保存”吗?对话框?

【问题讨论】:

  • 哦,你是怎么困扰我的。 握拳 交易是,我第一次做其中一个时,它只播放图像。现在它卡在我的脑海里了。

标签: security jsp pdf servlets firewall


【解决方案1】:

如果 servlet 在防火墙后面,JSP 能否成功引用 PDF servlet?

PDF 请求仅算作一个单独的 HTTP 请求。 servlet 不知道它是在防火墙后面还是被 JSP 调用。最安全的方法是检查 HTTP 标头或 HTTP 会话中是否存在用户凭据。

PDF 会内嵌显示吗?用户会得到“保存”吗?对话框?

这取决于Content-Disposition 标头的存在和/或浏览器的配置。如果标头不存在或显式设置为inline,并且浏览器支持Content-Type标头中指定的内容类型,则它将内联显示,否则会询问如何处理它:在某些应用程序中打开或保存。如果标头设置为attachment,则取决于浏览器配置。默认情况下,它应该弹出一个另存为对话框,但用户可能已将浏览器配置为立即在某些外部应用程序中打开它。

【讨论】:

  • 最安全的方法 ...你是对的。我继承了这个。登录安全性是……独一无二的。我有没有提到应用程序都是 jsp - 根本没有 servlet?无论如何,我想一个更好的问题是,<object> 什么时候被渲染?如果它是由用户的浏览器呈现的,那么我注定要失败 - PDF servlet 必须是全局可访问的。当我输入这个时,我有点知道答案。好吧,老板没问题,所以我想我会在这里走低路,努力实现真正的身份验证。
  • HTML 在客户端呈现。网络浏览器负责呈现 HTML 并为 HTML 中的链接资源触发另一个 HTTP 请求,例如 <img><iframe><link><script><object> 等。换句话说:你注定要失败。不是 JSP 以某种方式加载并神奇地将这一切压缩为单个 HTTP 响应:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-10-12
  • 1970-01-01
  • 2014-03-14
  • 2011-11-24
  • 2016-05-20
  • 2011-09-01
  • 1970-01-01
相关资源
最近更新 更多