科技企业网站(7) - 后台登录模块

1.管理员权限控制技术
难点:如何才能防止用户越过表单登录到后台管理界面
解决:为了体现越过表单的可行性,笔者在编写的网站程序,故意将SESSION变量写到控制器中,这样任何一个用户都可以登录到网站的后台管理界面。但是用户仍然不能进行任何操作。单击任何一个链接按钮都会弹出错误提示,比如“您没有操作权限,4秒后自动跳转,如未跳转,请单击这里”。

ThinkPHP中常用的SESSION操作分以下几种:
get(name) // 获取SESSION值
set(name,value) // 设置SESSION的值
is_set(name) // 检查SESSION的值是否设置
clear() // 清空SESSION
destroy() // 销毁SESSION

表单HTML代码如下:

<form action="__URL__/adminManager" method="post">
        <b>管理员:</b><input class="inOne" type="text" name="text" />
        <b>密&nbsp;&nbsp;&nbsp;&nbsp;码:</b><input class="inOne" type="password" name="pwd" /><br /><br />
        <input class="inTwo" type="submit" name="sub" value="提交" />&nbsp;&nbsp;&nbsp;&nbsp;
        <input class="inThree" type="reset" value="重置" />
    </form>

Home模块/Index控制器/adminManager方法关键代码如下:

public function adminManager(){
        $username = I('text');          // 接收表单传递过来的参数
        $userpwd = I('pwd');
        define(PHP,'_php');             // 定义一个常量PHP

        // 将接收到的页面数据进行MD5加密处理
        $username = md5($username.PHP);
        $userpwd = md5($userpwd.PHP);

        echo $username.'<br />';
        echo $userpwd.'<br />';

        $user = M('admin');             // 实例化基础模型类



        // 取得数据表中的指定字段
        $user = $user->field('user,pwd')->select();
        //  dump($user);
        // 判断数据表中的数据与加密后的数据是否相等
        if($username == $user[0]['user'] && $userpwd == $user[0]['pwd']){
            $this->assign('hint','登录成功');
            $this->assign('url','__URL__/adminIndex');
            // 设置SESSION变量
            session('PHP','phper_ym@163.com');      // 设置session变量
            // echo(session('PHP')).'<br />';
            $this->display('information');
        }else{
            $this->assign('hint','登录失败');
            $this->assign('url','__URL__/admin');
            $this->display('information');
        }
    }

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值