周金峰的bolg

我的博文
thinkphp5 登陆后台验证码无法显示
2019-12-26 20:05 Thursday

本人线上用的是urlos 是个docker管理器工具。

本人线下测试是用的宝塔。是个环境集成管理工具。

程序开发者把程序发过来后,在本地测试没有问题,然后线上测试刚开始是伪静态问题,后来解决了伪静态问题,但是后台登陆的验证码无法显示。

因为提示是无法找到captcha.html 刚开始推测是伪静态问题或者是php版本问题,跟开发者确认使用的伪静态没有问题,php环境是5.4后,陷入了更郁闷的情况。

后来找urlos的作者洞哥咨询,洞哥测试了用dz程序在我的使用的环境下面测试,发现是正常的。

然后我决定去考虑代码方面的问题,准备再检查代码方面的问题。

然后就去网上搜索thinkphp后台登陆无法显示验证码,然后发现了说是thinkphp本身的一个缺陷,然后通过查看相关文章,然后核对自己的程序是否有相关的问题,然后发现有相关漏洞,然后通过修复漏洞,解决了这个问题。

方法如下:

thinkPHP5 后台验证码不显示
解决:
找到 vendor/topthink/think-captcha/src/CaptchaController.php 文件,在 index 这行下面那行添加 ob_clean();如下图


class CaptchaController
{
    public function index($id = "")
    {
        ob_clean();
        $captcha = new Captcha((array)Config::get('captcha'));
        return $captcha->entry($id);
    }
}


然后这个问题就解决了。



html学习 ┆ 阅读(49) ┆ 评论(0)
  发评论

Copyright © 2011-2013 Rights Reserved. 豫ICP备12017564号-1 新乡生活网