【问题标题】:Redirecting page重定向页面
【发布时间】:2018-09-11 22:02:46
【问题描述】:

如果我尝试通过其 URL 访问某个页面(例如,file.html),我会被重定向(例如,enroll.html)。但是如果我通过enroll.html 我不会被重定向。

这可能吗?如果有,怎么做?

【问题讨论】:

  • 注册过程涉及什么?我会根据用户是否经过身份验证、登录等进行重定向。一旦他们“注册”,他们就可以访问file.html
  • 用户能否访问服务器上的基本逻辑。标记他们是否在enroll.html 上,如果它在他们的会话中,让他们看到它。如果没有,请将它们重定向。
  • 是的,事实是我正在尝试快速跳过会话 ID 部分,因为这有点像演示,是的,注册部分是用于时事通讯订阅 XD。

标签: javascript php jquery html


【解决方案1】:

您可以使用 javascript (document.referrer) 或 php ($_SERVER['HTTP_REFERER']) 验证引用者

if(document.referrer != 'http:// - - - /enroll.html')
    window.location.replace("http:// - - - /enroll.html")

if($_SERVER['HTTP_REFERER'] != 'http:// - - - /enroll.html')
    header('Location: http:// - - - /enroll.html');

https://developer.mozilla.org/en-US/docs/Web/API/Document/referrer http://php.net/manual/en/reserved.variables.server.php

不要仅仅依靠这个,因为它很容易被伪造。

【讨论】:

  • 它一直在重定向我,好像引用者总是无效的一样
  • 我在document.referrer 中有错字,您也可以打印它,以确保它具有您期望的价值。 console.log(document.referrer)
【解决方案2】:

您可以使用document.referrer 来通过 JS 实现这一点。

例子:

function func() {
    if (document.referrer == "whatever page") {
        //TODO enter code
    } else {
        window.location = "whatever page";
}

【讨论】:

    猜你喜欢
    • 2023-03-20
    • 1970-01-01
    • 2017-09-09
    • 2012-10-29
    • 2010-11-09
    • 2015-05-25
    • 2011-08-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多