php简单的tocken验证


上面的timestamp , adminuser, token参数传送到服务器

服务器端进行验证

public function actionMailchangepass(){
        $this->layout = false;
        //接收来自用户的url链接信息
        $time = Yii::$app->request->get("timestamp");
        $adminuser = Yii::$app->request->get("adminuser");
        $token = Yii::$app->request->get("token");
        
        $model = new Admin;
        //根据用户传递过来的信息创建一个tocken
        $myToken = $model->createToken($adminuser, $time);
        //创建的token和原油的token对比
        if ($token != $myToken) {
            $this->redirect(['public/login']);
            Yii::$app->end();
        }
        //时间对比
        if (time() - $time > 300) {
            $this->redirect(['public/login']);
            Yii::$app->end();
        }
        if (Yii::$app->request->isPost) {
            $post = Yii::$app->request->post();
            if ($model->changePass($post)) {
                Yii::$app->session->setFlash('info', '密码修改成功');
            }
        }
        $model->adminuser = $adminuser;
        return $this->render("mailchangepass", ['model' => $model]);

    }

创建tocken代码

public function createToken($adminuser, $time)
    {
        return md5(md5($adminuser).base64_encode(Yii::$app->request->userIP).md5($time));
    }
上面用ip进行加密, 转发无效

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1.安装 上传源码到网站目录,设置网站目录为源码二级目录public,很多虚拟主机不支持此设置 伪静态,源码默认包含了apache的伪静态规则,但很多情况下还需要自己设置,请百度对应对应的设置方法,例如Nginx thinkphp5伪静态设置,如果您使用的宝塔,那么在网站伪静态里面设置一下即可。如果伪静态没有设置好,会出现资源文件找不到,图片脚本等都404等情况。 2.配置 由于前期准备写给自己用的,偷懒了很多情况,一些配置直接写在\application\config.php中,所有请打开文件修改配置 3.邮箱服务器配置,注册,找回密码,购卡等操作需要用到邮箱发信 请在配置文件中找到mail节点设置smtp服务器账号和密码 如 'mail' => [ 'server'=>'smtp.qq.com', 'acount' => 'q214783030@qq.com', 'password' => '' 密码不是qq密码 ] 4.此版本更新安全,有用到openssl的rsa加密。需要配置openssl.cnf的路径,请在配置文件中修改 如:'opensslConf'=> 'D:\BtSoft\WebSoft\apache\conf\openssl.cnf' 此文件一般在你的apache配置文件夹中 5.支付,如果您想使用验证的自动发卡功能,官方默认支持两种对接方式 1.微信原生支付,需要签约商户,微信支付配置文件vendor/wxpay/WxPay.Config.php 绑定支付的APPIDGet AppId() 商户号 GetMerchantId()商户支付密钥 GetKey() 2.码支付,默认qq和支付宝使用码支付对接,需要挂监听软件,码支付官网https://codepay.fateqq.com/ 6.开启Workerman,这是一个socket库,这次的版本添加了websocket心跳方式,开启的好处是即时心跳,比如秒t下线,即时消息,群发消息,另外带个定时器,每个6分钟自动执行一次清理异常掉线未发退出登录通知服务器的用户,如果不开启,会出现很多麻烦,使用方法,双击打开源码目录下的start_for_win.bat,并保持cmd窗口打开,此功能仅在windows下测试过,linux大同小异主要执行php start_register.php start_gateway.php start_businessworker.php 如果正常运行您可以看到3个工作ok yzGateway Register yzBusinessWorker,可能出现的问题,找不到php命令,把php.exe加入到环境变量即可,如果使用websocket心跳的话,单机最大可能只有1000左右连接 7.必须开启openssl扩展 安装可能出现的问题 1.数据库连接不上,如果您确认数据库账号密码是正确的却连接不上,可以手动导入sql文件,文件路径/public/install/test.sql,导入成功后需要在application/database.php中配置您的库信息 2.安装时候环境监测有可能有点问题,不想整了,自己确定就行 遇到其它问题加群 365011408 提问即可 遇到返回数据未解密,用模块源码取调试 调用例子群文件获取,官网对接看这里 必须要开启Workerman 心跳处理,2种心跳方式,一种web定时心跳,一种socket主动发送
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值