-1

我有 2 页

/login.asp
/menu.asp

我想这样做,所以用户必须登录才能查看/menu.asp

但截至目前,用户/menu.asp无需先登录即可复制粘贴并输入它。

如果用户在没有先登录的情况下进入,我将如何做到这一点/menu.asp,它会迫使他们返回/login屏幕?

4

2 回答 2

3

在正常的经典 asp 方式中,我期望:

  1. 您正在 login.asp 中设置会话变量(例如 sesssion("loginsucceeded") = true)。
  2. 您检查所有其他页面上的会话变量,如果未登录,则重定向到 login.asp。

像这样:

if (not session("loginsucceeded") = true) then 
    response.redirect login.asp : 
end if
于 2013-03-09T07:00:43.730 回答
2

在几个大类中有很多选项。

最简单的可能是登录成功后在 menu.asp 中设置浏览器 cookie。然后在 menu.asp 中读取该 cookie(以及您想要限制的任何其他页面),如果它不存在,只需执行 META 或 JS 重定向到登录页面。如果需要,您可以将 cookie 设置为过期。

这样做的安全性很糟糕(如果用户足够努力,他可以编辑自己的 cookie),但它可能适用于原型设计。更安全的系统将涉及发布令牌而不是静态 cookie,并检查令牌在服务器端是否有效。

于 2013-03-09T01:19:34.433 回答