使用 Codeigniter 的页面安全脚本。我走在正确的道路上吗?

发布于 2024-12-18 05:03:54 字数 687 浏览 2 评论 0原文

我正在创建一个功能来在用户未登录的情况下保护我的管理页面。我是否以正确的方式执行此操作。我的所有管理页面都包含以下功能。

在允许访问我的管理页面以获得安全页面之前,我还应该检查什么?

    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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

套路撩心 2024-12-25 05:03:54

使用此处的代码,可以在没有意图的情况下授予权限。这不太可能,但如果由于某种原因,您的代码中某处存在 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).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文