2

我正在构建一个站点,该站点具有一个针对普通用户和管理用户的身份验证系统(对于任何感兴趣的人,使用 CodeIgniter 和 Tank Auth)。它们根据配置文件凭据进行区分。(这是一种安全的方法吗?)

我的问题是,当用户访问他们没有查看凭据的区域时,我应该使用哪些 PHP 功能来限制访问?我的想法是“重定向”或“退出”功能。什么是最安全的方法?

4

2 回答 2

5

两者都使用:

header("Location: http://your_login_page");
exit();

exit() 将确保脚本的其余部分不会被处理,而 header() 会将用户发送到有用的位置。(“闲手是魔鬼的作坊……”)

于 2011-06-13T17:12:56.620 回答
1

好吧,我认为 Tank Auth 应该已经在处理它了,不是吗?(我从未使用过该库,Ion Auth 会使用它,并且我认为它是身份验证系统的必备工具)。通常,在普通的 PHP 中,你可能想做一个

header("Location: your/url");
exit();

在检查记录状态后重定向时(通过 $_SESSION、$_SESSION + cookie,例如)。Exit() 阻止脚本继续,以防标头可能失败,从而显示不需要的代码。

Codeingiter有其内置的重定向系统(查看用户手册redirect()函数。你可以像这样使用它:

if ($logged_in == FALSE)
{
     redirect('/login/form/', 'refresh');
}

或使用'location'代替'refresh',witch 允许您设置标头响应以发送到服务器

// with 301 redirect
redirect('/article/13', 'location', 301);

但是我相信 Tank Auth 有自己的方法足以满足您的应用程序,您已经检查了吗?

于 2011-06-13T17:16:19.887 回答