我有两个网址A
和B
。我希望阻止用户直接访问B
,并希望强制执行“规则”,以便在访问B
之后只能访问A
。更具体地说,B
上登陆的唯一途径是通过A
上的重定向。
我想在B
中使用一些j来检查document.referrer
,如果它不是A
,则将用户重定向到B
。但是,这可能不适用于我的情况,因为B
使用重定向到达,在这种情况下document.referrer
不会给我A
。
我还希望,如果可能的话,不必须在加载B
的内容后使用js 进行检查,这将有助于节省一些带宽。
有没有有效而强大的方法来做到这一点?
答案 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.