使用 Codeigniter 的页面安全脚本。我走在正确的道路上吗?
我正在创建一个功能来在用户未登录的情况下保护我的管理页面。我是否以正确的方式执行此操作。我的所有管理页面都包含以下功能。
在允许访问我的管理页面以获得安全页面之前,我还应该检查什么?
function is_logged_in_admin()
{
$CI =& get_instance();
$is_logged_in = $CI->session->userdata('is_logged_in');
$username = $CI->session->userdata('username');
$status = $CI->session->userdata('status');
if(!isset($is_logged_in) || $is_logged_in != true)
{
redirect('auth/login',location);
}
if(!$username == 'myeswr')
{
redirect('auth/login',location);
}
if(!$status == '1')
{
redirect('auth/resend_activation',location);
}
}
I am creating a function to protect my admin pages if a user is not logged in. Am I doing it in a correct way. The following function is included on all my admin pages.
What else should I check for before give acccess to my admin pages for a secure page??
function is_logged_in_admin()
{
$CI =& get_instance();
$is_logged_in = $CI->session->userdata('is_logged_in');
$username = $CI->session->userdata('username');
$status = $CI->session->userdata('status');
if(!isset($is_logged_in) || $is_logged_in != true)
{
redirect('auth/login',location);
}
if(!$username == 'myeswr')
{
redirect('auth/login',location);
}
if(!$status == '1')
{
redirect('auth/resend_activation',location);
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用此处的代码,可以在没有意图的情况下授予权限。这不太可能,但如果由于某种原因,您的代码中某处存在 if #1 的逻辑错误(不是语法错误),则您不会被重定向,而其他 2 个会失败。
我建议使用
if.. elseif.. elseif.. else
。最后的 else 是重定向到登录,作为故障保护。您可能还想检查登录长度(或者仅使用 CI 的内置会话长度)。
With the code you have here, there is a possibility for granting permission w/o intent. Its not likely, but if for some reason there is a logic error (not syntax error) somewhere in your code for if #1, you are not redirected, and the other 2 fail.
I suggest using
if.. elseif.. elseif.. else
. Final else being a redirect to login, as a failsafe.You may also want to check length of login (or just use CI's built in session length).