【问题标题】:Protecting servlets and jsps保护 servlet 和 jsps
【发布时间】:2012-01-21 21:26:08
【问题描述】:

我在这里遇到了一个关于 jsps 和 servlet 保护的问题。当有人查看页面源代码时,他/她可以查看 jsp 页面中不应显示的退出链接。例如,当有人查看页面源代码时,会写到 a href="signout.jsp" 那么我认为这是不安全的,如果有人点击该退出链接,那么会话会自动失效,但应该完全禁止。我怎样才能保护 jsp 页面,以便当有人试图查看页面源时,他/她无法查看这些合理的链接?任何帮助表示赞赏。

【问题讨论】:

  • 什么这么不安全?它们会造成什么危害?
  • 我不知道,但我认为每当我登录后查看任何站点的页面源时,我都看不到注销链接,因此。如何加密页面源?
  • 除非你给他们一个这样的链接,否则你的用户将如何退出?
  • 您无法加密页面源。我可以在 Stackoveflow 上查看源代码。如果他们不加密他们的来源,你为什么认为你需要呢?没有人想要你的代码。
  • @sujit 这不是 html 的工作方式。您可以做到的唯一方法是编写自己的浏览器并在服务器上实施加密。甚至 HTTPS 也是一种方式,即任何人都可以访问浏览器上打印的内容,而发送到服务器的内容只有服务器才能解密。这就是为什么您在浏览器页面上看不到完整的信用卡号,因为通常服务器脚本不会这样做以防止它被公开。

标签: java jsp servlets


【解决方案1】:

从这个意义上说,任何打印到浏览器的 html 都是不安全的。

但再次显示signout.jsp 是完全安全的,我真的没有看到任何问题。为什么你认为它不安全?

如果有退出,那么可能是退出!如果你点击它,你应该会退出。

【讨论】:

  • @sid...感谢您的回复,但您能告诉我如何加密页面源吗?如果页面源被加密,则在单击站点的页面源时,黑客无法轻易猜测它是否包含 html 或其他内容。那么我该如何保护它呢?
  • 请参阅上面关于主要问题线程的评论。为此,您必须实现自己的浏览器。浏览器是通用的,因此它们无法为您专门做您想做的事情。除非您添加某种附加功能来解密在您的服务器上使用共享密钥加密的消息。 VPN 通常会处理这类事情以防止被窥探。
  • @sid....感谢您的帮助..如果安全的话我很高兴...谢谢大家
【解决方案2】:

我如何保护 jsp 页面,以便当有人试图查看页面源时,她/他无法查看这些合理的链接?

你不能。该链接必须在 HTML(或其他内容)中传递给用户的浏览器,并且您无法阻止人类获取它。

正确的策略是实施服务器端检查,以阻止假定有害的请求在不应使用时运行。例如,某些请求应仅限于登录用户、管理员等。

但是在这种情况下,如果用户想退出,有什么害处?如果你试图阻止它,用户可以关闭浏览器,关闭他的电脑然后走开。


如何加密页面源?

同样的答案。你不能。用户的浏览器需要以未加密的形式查看源代码才能显示它。您的服务器的响应被传递给在用户机器上运行的程序,您无法阻止程序按照用户的意愿进行操作。这包括以未加密的形式向用户显示页面的来源。

【讨论】:

    【解决方案3】:

    你错了:显示链接并不是不安全的。

    允许资源显示敏感数据是危险的,但注销链接是完全无害的。

    显示登录/注销链接是一种很好的做法。

    考虑一下 Google 是否在 Gmail 中隐藏了它的注销链接!

    【讨论】:

    • @Jean...ya 显示注销是一个好习惯,我说的是在查看页面源时显示注销链接,我认为当有人在页面中看到注销链接时不会有任何有害影响来源,因为它会导致简单的注销。
    猜你喜欢
    • 1970-01-01
    • 2012-12-14
    • 1970-01-01
    • 1970-01-01
    • 2014-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-17
    相关资源
    最近更新 更多