【问题标题】:Allow only "prerequisite" forwarding URL to access a servlet仅允许“先决条件”转发 URL 访问 servlet
【发布时间】:2014-05-15 03:22:11
【问题描述】:

例如,我有一个名为 FooServlet 的 servlet,映射到 /foo。

还有另外两个名为 BarServlet 和 CarServlet 的 servlet,分别映射到 /bar 和 /car。

现在,如果用户直接访问 www.example.com/foo,他们应该被拒绝。但是如果请求来自 /bar 或 /car 上的转发,我将允许访问 /foo。

这可能吗?

【问题讨论】:

    标签: java servlets


    【解决方案1】:

    是的,看到这个问题:Java get referer URI?

    您可以检查请求中的引用标头以确保它们来自您的其他 servlet 之一。

    【讨论】:

    • 我应该对提出这个问题投反对票,但这个问题澄清了“引荐来源网址”一词。感谢您的精彩阅读。
    • 是的。它的名称恰当。
    • 你好。顺便说一句,你建议把它放在过滤器上吗?
    • 如果您只将它用于这种情况,则不会。这很简单。
    • 不。我有一个决策 URL 的“网络”。意味着我有很多这样的。 :D
    【解决方案2】:

    您可以使用请求对象来决定。 例如:

    使用request.getContextPath() 获取“/foo”、“/bar”或“/car”并决定是否允许访问。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-22
      • 2010-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-18
      • 1970-01-01
      相关资源
      最近更新 更多