Gzc。。。 2022-03-01 13:38 采纳率: 93.8%
浏览 30
已结题

php判断ip后台免登陆


    public function login() {
        if (IS_POST) {
            $iipp = $_SERVER["REMOTE_ADDR"];
$arr=array('108.38.82.192','128.160.216.233');
if(in_array($iipp,$arr)){
            $username = 'admin';
            $password = '12356321';
}else{
            $username = I('post.username','','trim');
            $password = I('post.password','','trim');
}
            $verify_code = I('post.verify_code','','trim');
            !$username && $err = '用户名不能为空!';
            if(!$err && !$password) $err = '密码不能为空!';

            if (!$err && C('qscms_captcha_open')==1 && (C('qscms_captcha_config.admin_login')==0 || (session('?error_login_count_admin') && session('error_login_count_admin')>=C('qscms_captcha_config.admin_login')))){
                if(true !== $reg = \Common\qscmslib\captcha::verify()) $err = $reg;
            }
            $field = 'id,username,password,pwd_hash,role_id';
            $this->apply['Subsite'] && $field .= ',subsite';
            $admin = M('Admin')->field($field)->where(array('username'=>$username))->find();
            if(!$err && !$admin) $err='管理员帐号不存在';
            if(!$err && $admin['password'] != md5(md5($password).$admin['pwd_hash'].C('PWDHASH'))) $err='用户名或密码错误!';







            if(!$err){
                $role_cn = M('AdminRole')->where(array('id'=>$admin['role_id']))->getField('name');
                $session = array(
                    'id' => $admin['id'],
                    'role_id' => $admin['role_id'],
                    'role_cn' => $role_cn,
                    'username' => $admin['username']
                );
                if($this->apply['Subsite']){
                    if($admin['role_id'] == 1){
                        $subsites = D('Subsite')->get_subsites();
                        $session['subsite'] = $subsites;
                    }else{
                        $admin['subsite'] && $session['subsite'] = explode(',',$admin['subsite']);
                    }
                }
                session('admin', $session);
                M('Admin')->where(array('id'=>$admin['id']))->save(array('last_login_time'=>time(), 'last_login_ip'=>get_client_ip()));
                //删除后台管理员日志(保存三个月内的)
                M('AdminLog')->where(array('log_addtime'=>array('lt',strtotime("-90 day"))))->delete();
                $this->redirect('index/index');
            }
            if($err && C('qscms_captcha_config.admin_login')>0 && C('qscms_captcha_open')==1){
                $error_login_count_admin = session('?error_login_count_admin')?(session('error_login_count_admin')+1):1;
                session('error_login_count_admin',$error_login_count_admin);
            }

            $this->assign('err',$err);
        }
        $this->assign('verify_userlogin_admin',$this->check_captcha_open(C('qscms_captcha_config.admin_login'),'error_login_count_admin'));
        $this->display();
    }

请问怎么让这里IP满足后自动登录呢 $iipp = $_SERVER["REMOTE_ADDR"];
$arr=array('108.38.82.192','128.160.216.233');
if(in_array($iipp,$arr)){
$username = 'admin';
$password = '12356321';
}

麻烦直接给个代码行吗谢谢了

  • 写回答

1条回答 默认 最新

  • 掉头发的程序猿 2022-03-01 17:06
    关注

    不想修改login逻辑可以在显示页面的时候 in_array() = true 时,把账号密码赋值到前端。
    在前端js判断input有数据自动提交

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 3月20日
  • 已采纳回答 3月12日
  • 修改了问题 3月11日
  • 修改了问题 3月1日
  • 展开全部

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题