网站搭建外包_北京seo优化多少钱_品牌ai和vi_优化关键词排名外包

网页制作图片加边框

html简单网页成品代码、泰安58同城最新招聘信息、永久使用、不限域名、美国地址生成器安全码

企业网络推广哪家好?

网站搭建外包_北京seo优化多少钱_品牌ai和vi_优化关键词排名外包

{private $model;public function __construct(){$this->model = new IndexModel();}// 登录页面public function index(){if (session('sid')) {location(url('admin/Index/home'));}$this->assign('admin_check_code', $this->config('admin_check_code'));$this->display('index.html');}// 主页面public function home(){// 手动修改数据名称if (get('action') == 'moddb') {if ($this->modDB()) {alert_back('修改成功!');} else {alert_back('修改失败!');}}// 删除修改后老数据库(上一步无法直接修改删除)if (issetSession('deldb')) {@unlink(ROOT_PATH . session('deldb'));unset($_SESSION['deldb']);}$dbsecurity = true;// 如果是sqlite数据库,并且路径为默认的,则标记为不安全if (get_db_type() == 'sqlite') {// 数据库配置含有默认名字则进行修改if (strpos($this->config('database.dbname'), 'pbootcms') !== false) {if (get_user_ip() != '127.0.0.1' && $this->modDB()) { // 非本地测试时尝试自动修改数据库名称$dbsecurity = true;} else {$dbsecurity = false;}} elseif (file_exists(ROOT_PATH . '/data/pbootcms.db')) { // 存在多余的默认数据库文件则改名rename(ROOT_PATH . '/data/pbootcms.db', ROOT_PATH . '/data/' . get_uniqid() . '.db');}} elseif (file_exists(ROOT_PATH . '/data/pbootcms.db')) {rename(ROOT_PATH . '/data/pbootcms.db', ROOT_PATH . '/data/' . get_uniqid() . '.db');}$this->assign('dbsecurity', $dbsecurity);if (!session('pwsecurity')) {location(url('/admin/Index/ucenter'));}$this->assign('server', get_server_info());$this->assign('branch', $this->config('upgrade_branch') == '3.X.dev' ? '3.X.dev' : '3.X');$this->assign('revise', $this->config('revise_version') ?: '0');$this->assign('snuser', $this->config('sn_user') ?: '0');$this->assign('site', get_http_url());$this->assign('user_info', $this->model->getUserInfo(session('ucode')));$this->assign('sum_msg', model('admin.content.Message')->getCount());// 内容模型菜单$model = model('admin.content.Model');$models = $model->getModelMenu();foreach ($models as $key => $value) {$models[$key]->count = $model->getModelCount($value->mcode)->count;}$this->assign('model_msg', $models);$this->display('system/home.html');}// 异步登录验证public function login(){if (!$_POST) {return;}// 在安装了gd库时才执行验证码验证if (extension_loaded("gd") && $this->config('admin_check_code') && strtolower(post('checkcode', 'var')) != session('checkcode')) {json(0, '验证码错误!');}// 就收数据$username = post('username');$password = post('password');$checkcode = post('checkcode');$formcheck = post('formcheck');if (!preg_match('/^[\x{4e00}-\x{9fa5}\w\-\.@]+$/u', $username)) {json(0, '用户名含有不允许的特殊字符!');}if (!$username) {json(0, '用户名不能为空!');}if (!$password) {json(0, '密码不能为空!');}if (!$formcheck) {json(0, '表单提交校验失败,请刷新后重试!');}if (!!$time = $this->checkLoginBlack()) {$this->log('登录锁定!');json(0, '您登录失败次数太多已被锁定,请' . $time . '秒后再试!');}// 执行用户登录$where = array('username' => $username,'password' => encrypt_string($password));// 判断数据库写入权限if ((get_db_type() == 'sqlite') && !is_writable(ROOT_PATH . $this->config('database.dbname'))) {json(0, '数据库目录写入权限不足!');}if (!!$login = $this->model->login($where)) {session_regenerate_id(true);session('sid', encrypt_string(session_id() . $login->id)); // 会话标识session('M', M);session('id', $login->id); // 用户idsession('ucode', $login->ucode); // 用户编码session('username', $login->username); // 用户名session('realname', $login->realname); // 真实名字if ($where['password'] != '14e1b600b1fd579f47433b88e8d85291') {session('pwsecurity', true);}session('acodes', $login->acodes); // 用户管理区域if ($login->acodes) { // 当前显示区域session('acode', $login->acodes[0]);} else {session('acode', '');}session('rcodes', $login->rcodes); // 用户角色代码表session('levels', $login->levels); // 用户权限URL列表session('menu_tree', $login->menus); // 菜单树session('area_map', $login->area_map); // 区域代码名称映射表session('area_tree', $login->area_tree); // 用户区域树$this->log('登录成功!');json(1, url('admin/Index/home'));} else {$this->setLoginBlack();$this->log('登录失败!');session('checkcode', mt_rand(10000, 99999)); // 登录失败,随机打乱原有验证码json(0, '用户名或密码错误!');}}// 退出登录public function loginOut(){session_unset();location(url('/admin/Index/index'));}// 用户中心,修改密码public function ucenter(){if ($_POST) {$username = post('username'); // 用户名$realname = post('realname'); // 真实姓名$cpassword = post('cpassword'); // 现在密码$password = post('password'); // 新密码$rpassword = post('rpassword'); // 确认密码if (!$username) {alert_back('用户名不能为空!');}if (!$cpassword) {alert_back('当前密码不能为空!');}if (!preg_match('/^[\x{4e00}-\x{9fa5}\w\-\.@]+$/u', $username)) {alert_back('用户名含有不允许的特殊字符!');}$data = array('username' => $username,'realname' => $realname,'update_user' => $username);// 如果有修改密码,则添加数据if ($password) {if ($password != $rpassword) {alert_back('确认密码不正确!');}$data['password'] = encrypt_string($password);if ($data['password'] != '14e1b600b1fd579f47433b88e8d85291') {session('pwsecurity', true);} else {session('pwsecurity', false);}}// 检查现有密码if ($this->model->checkUserPwd(encrypt_string($cpassword))) {if ($this->model->modUserInfo($data)) {session('username', post('username'));session('realname', post('realname'));$this->log('用户资料成功!');success('用户资料修改成功!', -1);}} else {$this->log('用户资料修改时当前密码错误!');alert_location('当前密码错误!', -1);}}$this->display('system/ucenter.html');}// 切换显示的数据区域public function area(){if ($_POST) {$acode = post('acode');if (in_array($acode, session('acodes'))) {session('acode', $acode);cookie('lg', $acode); // 同步切换前台语言}location(url('admin/Index/home'));}}// 清理缓存public function clearCache(){if (get('delall')) {$rs = path_delete(RUN_PATH);} else {$rs = (path_delete(RUN_PATH . '/cache') && path_delete(RUN_PATH . '/complile') && path_delete(RUN_PATH . '/config') && path_delete(RUN_PATH . '/upgrade'));}cache_config(); // 清理缓存后立即生成新的配置if ($rs) {if (extension_loaded('Zend OPcache')) {opcache_reset(); // 在启用了OPcache加速器时同时清理}$this->log('清理缓存成功!');alert_back('清理缓存成功!', 1);} else {$this->log('清理缓存失败!');alert_back('清理缓存失败!', 0);}}// 清理系统缓存public function clearOnlySysCache(){if (get('delall')) {$rs = path_delete(RUN_PATH);} else {$rs = (path_delete(RUN_PATH . '/complile') && path_delete(RUN_PATH . '/config') && path_delete(RUN_PATH . '/upgrade'));}cache_config(); // 清理缓存后立即生成新的配置if ($rs) {if (extension_loaded('Zend OPcache')) {opcache_reset(); // 在启用了OPcache加速器时同时清理}$this->log('清理缓存成功!');alert_back('清理缓存成功!', 1);} else {$this->log('清理缓存失败!');alert_back('清理缓存失败!', 0);}}// 清理会话public function clearSession(){ignore_user_abort(true); // 后台运行set_time_limit(7200);ob_start();$output['code'] = 1;$output['data'] = '执行成功,后台自动清理中!';$output['tourl'] = '';echo json_encode($output);ob_end_flush();flush();$rs = path_delete(RUN_PATH . '/session', false, array('sess_' . session_id()));}// 文件上传方法public function upload(){$upload = upload('upload');if (is_array($upload)) {json(1, $upload);} else {json(0, $upload);}}// 检查是否在黑名单private function checkLoginBlack(){// 读取黑名单$ip_black = RUN_PATH . '/data/' . md5('login_black') . '.php';if (file_exists($ip_black)) {$data = require $ip_black;$user_ip = get_user_ip();$lock_time = $this->config('lock_time') ?: 900;$lock_count = $this->config('lock_count') ?: 5;if (isset($data[$user_ip]) && $data[$user_ip]['count'] >= $lock_count && time() - $data[$user_ip]['time'] < $lock_time) {return $lock_time - (time() - $data[$user_ip]['time']); // 返回剩余秒数}}return false;}// 添加登录黑名单private function setLoginBlack(){// 读取黑名单$ip_black = RUN_PATH . '/data/' . md5('login_black') . '.php';if (file_exists($ip_black)) {$data = require $ip_black;} else {$data = array();}// 添加IP$user_ip = get_user_ip();$lock_time = $this->config('lock_time') ?: 900;$lock_count = $this->config('lock_count') ?: 5;if (isset($data[$user_ip]) && $data[$user_ip]['count'] < $lock_count && time() - $data[$user_ip]['time'] < $lock_time) {$data[$user_ip] = array('time' => time(),'count' => $data[get_user_ip()]['count'] + 1);} else {$data[$user_ip] = array('time' => time(),'count' => 1);}// 写入黑名单check_file($ip_black, true);return file_put_contents($ip_black, "<?php\nreturn " . var_export($data, true) . ";");}// 修改数据库名称private function modDB(){$file = CONF_PATH . '/database.php';$sname = $this->config('database.dbname');$dname = '/data/' . get_uniqid() . '.db';$sconfig = file_get_contents($file);$dconfig = str_replace($sname, $dname, $sconfig);if (file_put_contents($file, $dconfig)) {if (!copy(ROOT_PATH . $sname, ROOT_PATH . $dname)) {file_put_contents($file, $sconfig); // 回滚配置} else {session('deldb', $sname);return true;}}return false;} 东道设计董事长职业规划ppt模板成品800x1200图片在线制作竞价推广有哪些扬州谷歌推广华为网站页面设计中山百度推广开户ppt作业成品免费下载金山屯便民黄页产品推广话术常州网红打卡地网课教程个人接单平台南京市网站建设开发江苏住建局与建设厅官网公司网址在哪查装修设计公司经营范围怎么写全面潍坊网站建设合同今日新闻国家大事北京千锋教育培训机构中国工程咨询网官网南宁专业做优化推广公司网站的开发语言是什么河北软件职业技术学院百度智能制作视频能自己制作游戏的软件聊城大黄页西安实景演出公司小程序制作公司 杭州中国物流运输网那个漫画网站好

猜你喜欢

  • 友情链接:
  • 大作设计网站官网百度 签约平台网站设计师 html新手入门必学知识点 如何办理宽带最便宜 市场营销策略论文 品牌营销的案例和经验