GVKun编程网logo

thinkphp6: 用bcrypt加密生成密码(php 8.1.1 / thinkphp v6.0.10LTS )(thinkphp加密源码)

28

对于想了解thinkphp6:用bcrypt加密生成密码(php8.1.1/thinkphpv6.0.10LTS)的读者,本文将是一篇不可错过的文章,我们将详细介绍thinkphp加密源码,并且为您提

对于想了解thinkphp6: 用bcrypt加密生成密码(php 8.1.1 / thinkphp v6.0.10LTS )的读者,本文将是一篇不可错过的文章,我们将详细介绍thinkphp加密源码,并且为您提供关于php8.0.14: 创建thinkphp项目(composer2.2.1/thinkphp6.0.9)、ThinkPHP V6.0.10LTS 发布,兼容 PHP8.1、ThinkPHP 报错:Call to undefined function Think\C () in ThinkPHP/Library/Think/Think.class.php、thinkphp,onethink和thinkox中验证码不显示的解决方法分析,thinkphpthinkox的有价值信息。

本文目录一览:

thinkphp6: 用bcrypt加密生成密码(php 8.1.1 / thinkphp v6.0.10LTS )(thinkphp加密源码)

thinkphp6: 用bcrypt加密生成密码(php 8.1.1 / thinkphp v6.0.10LTS )(thinkphp加密源码)

一,使用bcrypt实现加密和验证的PHP代码:

class Auth extends BaseController
{
    /*
     *测试用bcrypt方式难证密码
     *
     *@return \think\Response
     * */
    public function testPass() {
        //原始密码
        $origPass = "123456";
        echo "origPass:".$origPass.":<br/>”;
        //加密
        $bcryptPass = password_hash($origPass, PASSWORD_DEFAULT);
        echo "password:".$bcryptPass.":<br/>";
 
        //判断密码是否匹配
        if (password_verify($origPass,$bcryptPass)) {
            echo "密码正确";
        } else {
            echo "密码错误";
        }
        echo "<br/>";
        if (password_verify("123321",$bcryptPass)) {
            echo "密码正确";
        } else {
            echo "密码错误";
        }
    }
}

说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest

         对应的源码可以访问这里获取: https://github.com/liuhongdi/
         或: https://gitee.com/liuhongdi

说明:作者:刘宏缔 邮箱: 371125307@qq.com

二,测试bcrypt效果

访问:
http://192.168.219.6:8000/auth/testpass

返回:

刷新:

  多刷新两次,可以发现每次加密后的密文都不一样,这样就加大了破解和碰撞的难度

三,查看PHP和thinkPHP的版本: 

PHP:
liuhongdi@lhdpc:/data/PHP/admapi$ PHP --version
PHP 8.1.1 (cli) (built: Dec 20 2021 16:12:16) (NTS)
copyright (c) The PHP Group
Zend Engine v4.1.1, copyright (c) Zend Technologies
    with Zend OPcache v8.1.1, copyright (c), by Zend Technologies 
thinkPHP:
liuhongdi@lhdpc:/var/www/html$ cd /data/PHP/admapi/
liuhongdi@lhdpc:/data/PHP/admapi$ PHP think version
v6.0.10LTS 

 

php8.0.14: 创建thinkphp项目(composer2.2.1/thinkphp6.0.9)

php8.0.14: 创建thinkphp项目(composer2.2.1/thinkphp6.0.9)

一,用composer创建thinkPHP项目

1,创建项目所在的目录
liuhongdi@lhdpc:/usr/local/soft$ mkdir /data/
liuhongdi@lhdpc:/usr/local/soft$ cd /data/
liuhongdi@lhdpc:/data$ mkdir PHP
liuhongdi@lhdpc:/data$ cd PHP
2,创建项目,名字叫admapi
liuhongdi@lhdpc:/data/PHP$ composer create-project topthink/think admapi 
说明:因为thinkPHP6.0.9还不支持PHP8.1,         所以我们使用已支持 PHP 8.0.14版本   3,查看效果:
liuhongdi@lhdpc:/data/PHP$ cd admapi/
liuhongdi@lhdpc:/data/PHP/admapi$ PHP think version
v6.0.9
看到已创建的thinkPHP项目的版本是 v6.0.9   4,升级项目中的thinkPHP
liuhongdi@lhdpc:/data/PHP/admapi$ composer update topthink/framework
Loading composer repositories with package information
Updating dependencies
nothing to modify in lock file
Installing dependencies from lock file (including require-dev)
nothing to install, update or remove
Generating autoload files
> @PHP think service:discover
Succeed!
> @PHP think vendor:publish
File /data/PHP/admapi/config/trace.PHP exist!
Succeed!
6 packages you are using are looking for funding.
Use the `composer fund` command to find out more!

说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest

         对应的源码可以访问这里获取: https://github.com/liuhongdi/
         或: https://gitee.com/liuhongdi

说明:作者:刘宏缔 邮箱: 371125307@qq.com

二,测试运行thinkPHP:

1,运行:
liuhongdi@lhdpc:/data/PHP/admapi$ PHP think run
ThinkPHP Development server is started On <http://0.0.0.0:8000/>
You can exit with `CTRL-C`
Document root is: /data/PHP/admapi/public
[Thu Dec 23 12:09:29 2021] PHP 8.0.14 Development Server (http://0.0.0.0:8000) started

此处不要关闭控制台

2,从浏览器访问:
http://127.0.0.1:8000/
效果如图:

三,thinkPHP的相关命令:

1,list: 用来列出thinkPHP的可用命令
liuhongdi@lhdpc:/data/PHP/admapi$ PHP think list
version 6.0.9
 
Usage:
  command [options] [arguments]
 
Options:
  -h, --help            display this help message
  -V, --version         display this console version
  -q, --quiet           Do not output any message
      --ansi            Force ANSI output
      --no-ansi         disable ANSI output
  -n, --no-interaction  Do not ask any interactive question
  -v|vv|vvv, --verbose  Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
 
Available commands:
  clear             Clear runtime file
  help              displays help for a command
  list              Lists commands
  run               PHP Built-in Server for ThinkPHP
  version           show thinkPHP framework version
make
  make:command      Create a new command class
  make:controller   Create a new resource controller class
  make:event        Create a new event class
  make:listener     Create a new listener class
  make:middleware   Create a new middleware class
  make:model        Create a new model class
  make:service      Create a new Service class
  make:subscribe    Create a new subscribe class
  make:validate     Create a validate class
optimize
  optimize:route    Build app route cache.
  optimize:schema   Build database schema cache.
route
  route:list        show route list.
service
  service:discover  discover Services for ThinkPHP
vendor
  vendor:publish    Publish any publishable assets from vendor packages

四,通过Nginx访问thinkPHP项目

1,配置 Nginx的site如下:
root@lhdpc:/etc/Nginx/sites-enabled# vi admapi.conf
内容:
root@lhdpc:/etc/Nginx/sites-enabled# more admapi.conf
server {
        listen       8000;
        root   /data/PHP/admapi/public;
        server_name admapi;
        index  index.PHP;
        location ~ \.PHP {
                fastcgi_pass   127.0.0.1:9000;
                fastcgi_index  index.PHP;
                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                include        fastcgi_params;
        }
    }

2,查看效果:

访问:
http://127.0.0.1:8000/
返回:

五,查看composer版本

liuhongdi@lhdpc:/usr/local/soft$ composer --version
Composer version 2.2.1 2021-12-22 22:21:31

六,查看PHP版本:

liuhongdi@lhdpc:/data/PHP$ PHP --version
PHP 8.0.14 (cli) (built: Dec 23 2021 11:52:42) ( NTS )
copyright (c) The PHP Group
Zend Engine v4.0.14, copyright (c) Zend Technologies
    with Zend OPcache v8.0.14, copyright (c), by Zend Technologies 

ThinkPHP V6.0.10LTS 发布,兼容 PHP8.1

ThinkPHP V6.0.10LTS 发布,兼容 PHP8.1

V6.0.10版本主要添加了PHP8.1的兼容支持,以及ThinkORM的一些改进,并宣布成为ThinkPHP历史上第二个LTS版本,借此辞旧迎新之际,ThinkPHP祝大家新年快乐。

6.0LTS版本核心不再做功能更新,仅作优化及BUG修复,BUG修复时间和安全更新均延长至2024年10月24日。

主要更新

  • 兼容PHP8.1
  • 改进cookie跨域删除
  • 改进多语言自动加载
  • 改进url生成
  • Filesystem增加url方法 获取文件访问地址
  • 文件上传错误支持多语言
  • 修正 make:controller 指令错误
  • 发送cookie前先检查请求头是否已发送
  • 改进多文件上传的文件hashName冲突问题
  • 调整thinkPath路径赋值为真实绝对路径 以避免特殊环境潜在隐患
  • 支持 psr7 response
  • 控制器中间件支持动态参数
  • 改进env文件解析

ThinkORM主要更新:

  • 修正column方法
  • Db和模型增加filter数据处理机制
  • 调整json处理
  • 修正sqlite驱动lock
  • 获取数据库字段类型不区分大小写
  • 修正多对多关联中间表数据
  • 修正多对多模型
  • 改进db类hidden/visible/append 方法处理机制
  • 改进关联的软删除查询
  • 完善获取sql时的字符转义

安装和更新

V6版本开始仅支持Composer安装及更新,支持上个版本的无缝更新,直接使用

composer update

更新到最新版本即可。

如果需要全新安装,使用:

composer create-project topthink/think tp

官方文档

  • 官方6.0完全开发手册
  • 6.0入门必读教程

官方服务

官方服务市场——生态服务交易及交付平台

ThinkPHP应用服务市场是官方作为战略服务倾力打造的生态服务交易及交付平台,为ThinkPHP开发者和爱好者严选官方及第三方产品和服务,并提供交易保障。

ThinkAPI——官方统一API接口服务  API会员限时秒杀¥480/年

ThinkAPI统一API接口服务是由官方联合合作伙伴封装的一套接口调用服务及SDK,旨在帮助ThinkPHP开发者更方便和更低成本调用官方及第三方的提供的各类API接口及服务,从而更好的构建开发者生态。目前已经接入包括实名认证、人工智能、电子商务、新闻资讯和生活服务在内的常用API接口。

ThinkSSL——官方自营SSL证书服务 通配符DV证书限时秒杀¥200/年

ThinkSSL服务是ThinkPHP官方联合合作伙伴推出的自营SSL/TLS证书服务,精选了多个优质证书品牌和证书类型,为个人和企业提供极具性价比的证书服务,支持DV(域名型)和OV(企业型),同时也提供免费证书服务(包括通配符证书)。

ThinkPHP 报错:Call to undefined function Think\C () in ThinkPHP/Library/Think/Think.class.php

ThinkPHP 报错:Call to undefined function Think\C () in ThinkPHP/Library/Think/Think.class.php

 

 

ThinkPHP 报错:Call to undefined function Think\C () in ThinkPHP/Library/Think/Think.class.php

原因是 debug 设置为 false 后,原来 Runtime 下目录不存在了, 重新生成就好(先设置为 true)。

thinkphp,onethink和thinkox中验证码不显示的解决方法分析,thinkphpthinkox

thinkphp,onethink和thinkox中验证码不显示的解决方法分析,thinkphpthinkox

thinkphp,onethink和thinkox中验证码不显示的解决方法分析,thinkphpthinkox

本文实例讲述了thinkphp,onethink和thinkox中验证码不显示的解决方法。分享给大家供大家参考,具体如下:

使用验证码的时候,一开始正常,后来不显示了

网上说是utf-8的编码问题,什么bom去掉,转化为无bom的格式

我都试了,没用

后来知道是在调用验证码的地方  写上

立即学习“PHP免费学习笔记(深入)”;

Public function verify(){
import(''ORG.Util.Image'');
Image::buildImageVerify();
}

登录后复制

改成这样就行了:

Public function verify(){
import(''ORG.Util.Image'');
ob_clean();//这个就是关键
Image::buildImageVerify();
}

登录后复制

ob_clean这个函数的作用就是用来丢弃输出缓冲区中的内容,如果你的网站有许多生成的图片类文件,那么想要访问正确,就要经常清除缓冲区。

更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《ThinkPHP常用方法总结》、《PHP中cookie用法总结》、《smarty模板入门基础教程》及《PHP模板技术总结》。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

今天关于thinkphp6: 用bcrypt加密生成密码(php 8.1.1 / thinkphp v6.0.10LTS )thinkphp加密源码的介绍到此结束,谢谢您的阅读,有关php8.0.14: 创建thinkphp项目(composer2.2.1/thinkphp6.0.9)、ThinkPHP V6.0.10LTS 发布,兼容 PHP8.1、ThinkPHP 报错:Call to undefined function Think\C () in ThinkPHP/Library/Think/Think.class.php、thinkphp,onethink和thinkox中验证码不显示的解决方法分析,thinkphpthinkox等更多相关知识的信息可以在本站进行查询。

本文标签: