【发布时间】:2014-05-15 03:22:11
【问题描述】:
例如,我有一个名为 FooServlet 的 servlet,映射到 /foo。
还有另外两个名为 BarServlet 和 CarServlet 的 servlet,分别映射到 /bar 和 /car。
现在,如果用户直接访问 www.example.com/foo,他们应该被拒绝。但是如果请求来自 /bar 或 /car 上的转发,我将允许访问 /foo。
这可能吗?
【问题讨论】:
例如,我有一个名为 FooServlet 的 servlet,映射到 /foo。
还有另外两个名为 BarServlet 和 CarServlet 的 servlet,分别映射到 /bar 和 /car。
现在,如果用户直接访问 www.example.com/foo,他们应该被拒绝。但是如果请求来自 /bar 或 /car 上的转发,我将允许访问 /foo。
这可能吗?
【问题讨论】:
是的,看到这个问题:Java get referer URI?
您可以检查请求中的引用标头以确保它们来自您的其他 servlet 之一。
【讨论】:
您可以使用请求对象来决定。 例如:
使用request.getContextPath() 获取“/foo”、“/bar”或“/car”并决定是否允许访问。
【讨论】: