如果前一个网页不是特定的网页,如何限制对该网页的访问



我有一个二维码,可以将用户带到a页,然后立即转发到B页。我希望B页检查用户是否来自a页,否则将其转发到C页(基本上说你需要先访问a页(。最终的结果是,扫描二维码可以通过第A页访问第B页,但如果之前没有在第A页,就无法从第B页开始(除非他们输入(。无论如何,这都不是万无一失的,但这是一种威慑。在B页上,我使用的是:

if (history.back!="[page a url]") {
location.assign("[page c url]");
}

但这似乎不起作用。

顺便说一句,我正在通过尝试学习我需要做的事情来完成这一切——请假设我对知之甚少

通过您的标签,我看到您正在使用WIX。我不确定您是否可以访问服务器端,所以我的答案是javascript。这并不能完全证明,因为你不能信任从浏览器发送的任何内容。

在页面A上,使用localStorage将变量visitedA设置为1,然后重定向到页面B。

<script>
localStorage.setItem("visitedA","1");
location.href = "pageB.html";
</script>

在页面B上,检查visitedA是否等于0,然后重定向到C.

<script>
let visitedA = localStorage.getItem("visitedA") || "0";
if(visitedA == "0"){
location.href = "pageC.html";
}
</script>

使用Document.referrer是解决这个问题的一个很好且最直接的方法。

https://developer.mozilla.org/en-US/docs/Web/API/Document/referrer

示例:

<script>
// did user come from page a?
if (document.referrer.includes('page-a') {
// yes page-a was in the referrer
} else {
// no, referrer was empty or did not include page a
}
</script>

相关内容

  • 没有找到相关文章