如何在另一个之前强制执行访问的URL?

时间:2012-10-15 14:41:04

标签: javascript url web-applications

我有两个网址AB。我希望阻止用户直接访问B,并希望强制执行“规则”,以便在访问B之后只能访问A 。更具体地说,B上登陆的唯一途径是通过A上的重定向。

我想在B中使用一些j来检查document.referrer,如果它不是A,则将用户重定向到B。但是,这可能不适用于我的情况,因为B使用重定向到达,在这种情况下document.referrer不会给我A

我还希望,如果可能的话,必须在加载B的内容后使用js 进行检查,这将有助于节省一些带宽。

有没有有效而强大的方法来做到这一点?

2 个答案:

答案 0 :(得分:3)

你应该让页面A设置一个cookie,而页面B检查cookie是否存在。它不是万无一失,也不是100%健壮,但它是在无状态应用程序(如Web)中强制执行此类限制的可接受方法。

答案 1 :(得分:1)

如果您想在A尚未查看时避免加载B的内容,那么当查看者查看A时您的服务器需要设置cookie,当您的服务器被要求B时,它需要检查除非存在来自A的所需cookie,否则存在适当的cookie并且不提供B页内容。如果用户在尚未访问A时转到B,但您的服务器可能会将重定向设置为A或者可能会提供用户未执行任何操作的消息,则不会描述您希望发生什么正确的订单,并给他们一个链接点击。

从概念上讲,这有点像要求观看者在允许查看页面B之前登录页面A.登录(设置cookie)可以在查看页面A后自动进行,或者您可以要求观看者进行在设置cookie之前,页面A上的某些操作(提供凭据,单击按钮等等)允许访问页面B.