当前位置: 首页 > news >正文

如何建立门户网站深圳网站优化平台

如何建立门户网站,深圳网站优化平台,电子商务平台的法律责任,app要多少钱才能开发需要修改两个地方&#xff0c;第一个是总控制里面的续token延时&#xff0c;第二个是操作日志记录 一、总控续token延时方法 在根目录下app文件夹下controller文件夹下Base.php中修改isLoginAuth方法&#xff0c;具体代码如下&#xff1a; <?php /*** 总控制* User: 龙哥…

        需要修改两个地方,第一个是总控制里面的续token延时,第二个是操作日志记录

一、总控续token延时方法

        在根目录下app文件夹下controller文件夹下Base.php中修改isLoginAuth方法,具体代码如下:

<?php
/*** 总控制* User: 龙哥 三年风水* Date: 2024/10/27/0027* Time: 22:16*/
namespace app\controller;
use app\BaseController;
use app\model\permission\Menu;
use app\model\permission\Role;
use Encipher\Encrypt;
use app\model\common\Token;
use Error\BaseError;
use Redis\Redis;
class Base extends BaseController
{protected $userId = 0;//用户编号,整个系统内部使用protected $avatar = '';//登录用户的头像protected $username = '';//登录用户的登录名称protected $realname = '';//登录用户的真实名称protected $email = '';//登录用户邮箱protected $ip = '';//登录用户授权组protected $departmentId = 0;//登录用户部门编号protected $gradeId = 0;//登录用户级别编号protected $isUnserialize = true;//Redis里面有按钮权限protected $token = '';//当前用户唯一编码protected $roleId = '';//登录用户的权限编号protected $key = '';//登录用户权限组标识protected $butts = [];//操作权限,整个系统内部使用protected $rules = [];//登录用户的权限组,内部使用protected $randomNumber = '';//随机数编号protected $loginIp = '';//登录IPprotected $browserId = '';//浏览器编号//初始化方法public function initialize(){parent::initialize(); // TODO: Change the autogenerated stub$this->isLoginAuth();//判断是否登录}//token验证private function isLoginAuth(){$headInfo = $this->request->header();if(!isset($headInfo['authorization']))throw new BaseError('非法操作!');if(empty($headInfo['authorization']))throw new BaseError('操作异常!');if(!empty($this->loginIp)){if($this->loginIp != $headInfo['x-real-ip'])throw new BaseError('危险操作!');}$tokenValue = explode('|', Encrypt::decryptRsa($headInfo['authorization']));//解密 --转换tokenif(count($tokenValue) != 2)throw new BaseError('登录认证权限错误',50034,200);$token = sha1(sha1($tokenValue[0]).strtotime($tokenValue[1]));$res = Token::setToken($token, $headInfo['authorization'], $headInfo['x-real-ip']);if($res['status'] === false)throw new BaseError($res['info'],50034,200);//赋值错误信息$this->userId = $res['data']['admin_id'];$this->avatar = $res['data']['avatar'];$this->username = $res['data']['username'];$this->realname = $res['data']['realname'];$this->email = $res['data']['email'];$this->ip = $res['data']['ip'];$this->departmentId = $res['data']['department_id'];$this->gradeId = $res['data']['grade_id'];$this->roleId = $res['data']['role_id'];$this->token = $token;$this->randomNumber = $res['data']['random_number'];$this->loginIp = $res['data']['login_ip'];$this->browserId = $res['data']['browser_id'];}
}

二、修改token数据管理

        在根目录下app文件夹下model文件夹下common文件夹下Token.php中修改setToken方法,具体代码如下:

//修改token整个状态public static function setToken($token, $attack, $clientIp){$data['admin_id'] = 0;$data['username'] = '';$data['avatar'] = '';$data['realname'] = '';$data['email'] = '';$data['ip'] = '';$data['department_id'] = 0;$data['grade_id'] = 0;$data['role_id'] = 0;$data['random_number'] = '';$data['browser_id'] = '';$data['login_ip'] = '';$redisToken = Redis::select(config('cache.stores.redis.token_db'))->get('token_'.$token);if(empty($redisToken))return array('status' => false, 'info' => 'token已经过期咯,请重新登录!', 'data' => $data);//获取系统配置的过期时间$systemParam = SystemModel::dataFind(['id' => 1],'platform_token_expira');//验证是否跨站攻击$attackToken = Redis::select(config('cache.stores.redis.token_db'))->get('token_' . $redisToken);if(!empty($attackToken)){if ($attackToken === $attack){//如果传过来加密后的token与Redis里面记录的一样,就禁止访问、延长过期时间并加入黑名单Redis::select(config('cache.stores.redis.token_db'))->expire('token_'.$token, $systemParam['platform_token_expira']);//加入黑名单//Redis::select(config('cache.stores.redis.default_db'))->sadd('black-list', $clientIp);//return array('status' => false, 'info' => '跨站攻击', 'data' => $data);}}Redis::select(config('cache.stores.redis.token_db'))->expire('token_'.$token, $systemParam['platform_token_expira']);Redis::select(config('cache.stores.redis.token_db'))->setex('token_' . $redisToken, $systemParam['platform_token_expira'], $attack);$resAdminFind = Admin::dataFind(['id' => $redisToken], 'username,avatar,realname,email,ip,department_id,grade_id,role_id,status',true);if ($resAdminFind['status'] !== 1) return array('status' => false, 'info' => '该用户已被禁用', 'data' => $data);$resTokenFind = self::dataFind(['token' => $token],'random_number,browser_id,login_ip',true);$data['admin_id'] = $redisToken;$data['username'] = $resAdminFind['username'];$data['avatar'] = $resAdminFind['avatar'];$data['realname'] = $resAdminFind['realname'];$data['email'] = $resAdminFind['email'];$data['ip'] = $resAdminFind['ip'];$data['department_id'] = $resAdminFind['department_id'];$data['grade_id'] = $resAdminFind['grade_id'];$data['role_id'] = $resAdminFind['role_id'];$data['random_number'] = $resTokenFind['random_number'];$data['browser_id'] = $resTokenFind['browser_id'];$data['login_ip'] = $resTokenFind['login_ip'];return array('status' => true, 'info' => '', 'data' => $data);}

三、管理员日志操作方法

        在根目录下app文件夹下controller文件夹下Base.php中修改setToken方法,具体代码如下:

    /*** 操作日志记录* User: 龙哥·三年风水* Date: 2024/12/12* Time: 17:11* @ param $tokenType 操作类型* @ param $menuName 权限名称*/protected function setToken($tokenType,$menuName){$data['token_type'] = $tokenType;$data['menu_name'] = $menuName;$data['admin_id'] = $this->userId;$data['random_number'] = $this->randomNumber;$data['browser_id'] = $this->browserId;$data['login_ip'] = $this->loginIp;$data['create_time'] = date('Y-m-d',time());$data['login_time'] = date('Y-m-d H:i:s',time());$data['expire_time'] = time();$data['token'] = $this->token;Token::save($data,[]);}
http://www.mmbaike.com/news/30385.html

相关文章:

  • 网站建设 需求确认书北京推广优化经理
  • 男女直接做的视频上那个网站网络公司seo推广
  • 长春个人网站制作公司网站推广seo招聘
  • 做视频网站设备需求足球排行榜前十名
  • 古典家具网站模板可口可乐软文营销案例
  • wordpress 微论坛主题seo外贸推广
  • 淘宝网站建设目标是什么网络营销的特点分别是
  • 网页游戏广告平台网站建设长沙网站推广智投未来
  • 动态网站开发在线测试第2章seo求职信息
  • 邢台做网站免费域名空间申请网址
  • 做网站的程序员工资大约月薪外贸软件
  • 购物网站用户管理快推达seo
  • 网站设计与建设书百度获客平台
  • 代购网站建站成都网络营销推广
  • 怎么把别人网站模板下载出来百度seo在哪里
  • 专做立体化的网站百度本地惠生活推广
  • 360网站做不了网银怎么办百度竞价推广账户优化
  • 建设部监理工程师考试网站福州网站seo
  • 市住房城乡建设委官方网站九江搜索引擎优化的简称是
  • 衡水网站建设套餐大连百度网站排名优化
  • 网站域名有效期旺道seo怎么优化网站
  • 用asp做网站游戏推广话术技巧
  • 网站建设软文百度seo是什么意思呢
  • 计算机二级网页设计考什么河南百度关键词优化排名软件
  • 关键词优化是什么意思武汉seo排名优化公司
  • 国内设计师个人网站欣赏可口可乐搜索引擎营销案例
  • 遵义做网站泰安短视频seo
  • 怀来建设银行网站百度联盟项目看广告挣钱
  • 广州模板网站建设费用推广如何做网上引流
  • 免费学习资源网站seo搜索优化是什么意思