【问题标题】:Change the default content of a site if the site is redirected如果站点被重定向,则更改站点的默认内容
【发布时间】:2017-04-04 18:48:22
【问题描述】:

所以我有一个名为“登录”的网站的事件处理程序:

 function _GetLoginEventHandler(req, res) {
    var answer = _getHTMLSkeleton();

    var dynamicAnswer;
    if (isLogedIn == false) {
         dynamicAnswer = "<h1>Login</h1>" + //creates a form for not logged users
            "<form action='/login' method='post'>" +
            "User name: <br>" +
            '<input type="text" name="username" value="MickeyMouse">' +
            "<br>" +
            "Password: <br>" +
            '<input type="password" name="password" value="geheim">' +
            "<br><br>" +
            '<input type="submit" value="Submit">' +
            "</form> ";
         answer = answer.replace('{title}', "Login");
         answer = answer.replace("{body}", dynamicAnswer);
         res.write(answer);
         res.end();
    }
    else {
        res.writeHead(302, {  //if the user is loged it, it redirects to his "profile"
            'Location': '/user'
        });
        res.end();
    }     
};

如果用户已经登录,它会将他重定向到一个名为“用户”的页面,在我的例子中是他的个人资料:

 function _GetUserEventHandler(req, res) {
    var answer = _getHTMLSkeleton();

    var dynamicAnswer;
    if (isLogedIn == true) {
        dynamicAnswer = "<h1>Logg Off</h1>" +
            "<p>Your user id is: " + uID + "</p>" +
            "<form action='/user' method='post'>" +
            '<input type="submit" value="Submit">' + "</form>";
    }
    else
        dynamicAnswer = "<h4>You are not allowed to see this content, you are not loged in </h4>";

    answer = answer.replace('{title}', "User");
    answer = answer.replace("{body}", dynamicAnswer);
    res.write(answer);
    res.end();
}

我想检查主站点是否从(在这种情况下)登录页面重定向,以便我可以添加到“答案”,例如“您已成功登录”。 PS: _getHTMLSkeleton 返回带有占位符的 HTML 页面的结构

【问题讨论】:

    标签: node.js url web-applications request response


    【解决方案1】:

    您可以检查您的应用程序中的referer header是否是您的登录表单:

    req.headers.referer
    

    如果您的应用正在设置引荐来源网址值(检查来源。

    或尝试设置标题:

    res.setHeader('fromLoginPage', 'true');
    

    重定向用户之前,稍后检查:

    req.headers.fromLoginPage == true
    

    【讨论】:

      猜你喜欢
      • 2014-02-10
      • 2014-06-02
      • 2016-05-27
      • 1970-01-01
      • 2017-06-04
      • 2017-01-18
      • 2016-05-15
      • 2011-09-22
      • 1970-01-01
      相关资源
      最近更新 更多