【发布时间】:2012-01-24 02:00:08
【问题描述】:
如果用户没有有效的会话,我通常会通过重定向用户来限制用户访问。
例如:
<?php
session_start();
if (!isset($_SESSION["userInfo"])) {
header("Location: index.php");
}
?>
但我正在使用 ajax 启动一个新项目来加载我的所有页面。
如果会话不再有效,我应该如何强制刷新我的 web 应用的页面?
是否应该在我的所有 ajax 请求之前添加一个专用身份验证请求,如果失败则通过 javascript 刷新页面?
或者,我是否应该在每个 json 响应中包含身份验证数据,然后在进一步处理 ajax 请求之前进行身份验证?
有没有更好的方法来做到这一点?
【问题讨论】:
-
请注意,您的“常规方法”是错误的。
header()重定向不会阻止页面的其余部分执行。每当您执行header()重定向时,请始终使用die()跟随它,否则您可能会产生不希望的副作用。
标签: php ajax json session web-applications