Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何强制一个URL在另一个URL之前访问?_Javascript_Url_Web Applications - Fatal编程技术网

Javascript 如何强制一个URL在另一个URL之前访问?

Javascript 如何强制一个URL在另一个URL之前访问?,javascript,url,web-applications,Javascript,Url,Web Applications,我有两个URL,A和B。我希望阻止用户直接访问B,并希望强制执行一个“规则”,使用户只能在访问a后访问B。更具体地说,登陆B的唯一途径是通过a上的重定向 我想在B中使用一些js来检查文档。referer,如果它不是A,那么将用户重定向出B。但是,这在我的情况下可能不起作用,因为使用重定向到达B,在这种情况下文档。referer不会给我a 如果可能的话,我还希望在加载B的内容后不必使用js进行检查,这将有助于节省一些带宽 有什么有效且可靠的方法可以做到这一点吗?您应该让A页设置cookie,B页检

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

我想在
B
中使用一些js来检查
文档。referer
,如果它不是
A
,那么将用户重定向出
B
。但是,这在我的情况下可能不起作用,因为使用重定向到达
B
,在这种情况下
文档。referer
不会给我
a

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


有什么有效且可靠的方法可以做到这一点吗?

您应该让A页设置cookie,B页检查cookie是否存在。它既不是万无一失的,也不是100%健壮的,但它是在无状态应用程序(如web)中实施此类限制的公认方法。

您应该让页面A设置cookie,页面B检查cookie的存在。它既不是万无一失的,也不是100%健壮的,但它是在无状态应用程序(如web)中强制执行此类限制的公认方法。

如果您想避免在尚未查看A时加载B的内容,那么当查看者查看A时,服务器需要设置cookie,当服务器被要求查看B时,它需要检查是否存在正确的cookie,并且除非存在来自A的所需cookie,否则不会提供B页内容。你不能描述如果用户还没有去过A却去了B,你希望发生什么,但是你的服务器可以设置重定向到A,或者提供一条消息,说明用户没有按照正确的顺序做事情,并给他们一个点击链接


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

如果要避免在尚未查看A时加载B的内容,则当查看者查看A时,服务器需要设置cookie,并且当服务器被要求查看B时,它需要检查是否存在正确的cookie,并且除非存在来自A的所需cookie,否则不会提供B页内容。你不能描述如果用户还没有去过A却去了B,你希望发生什么,但是你的服务器可以设置重定向到A,或者提供一条消息,说明用户没有按照正确的顺序做事情,并给他们一个点击链接

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