authenticator验证码不显示_打电话报的验证码安全吗

authenticator验证码不显示_打电话报的验证码安全吗【2021/07/14】记录在修改代码中IDE闪烁了一下,原本正常的验证码图片就不显示了。但是没有报错,日志也没有记录。折腾了半天都无效果,我塔咩直接???然后突然看见了ob_clean()这玩意,然后加在了验证码输出之前,然后!就正常了!publicfunctioncaptcha(){ob_clean();returnCaptcha::create();}但是!为什么要加这个就能


Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

【2021/07/14】记录
在修改代码中IDE闪烁了一下,原本正常的验证码图片就不显示了。但是没有报错,日志也没有记录。
在这里插入图片描述
折腾了半天都无效果,我塔咩直接???
然后突然看见了ob_clean()这玩意,然后加在了验证码输出之前,然后!就正常了!

        public function captcha()
        { 
   
            ob_clean();
            return  Captcha::create();
        }

在这里插入图片描述
但是!为什么要加这个就能正常输出呢?我之前也没加这玩意儿也正常输出啊?然后我又看了看介绍…

ob_clean()这个函数的作用就是用来丢弃输出缓冲区中的内容,如果你的网站有许多生成的图片类文件,那么想要访问正确,就要经常清除缓冲区。
来具体看一下ob:
ob,输出缓冲区,是output buffering的简称,而不是output cache。ob用对了,是能对速度有一定的帮助,但是盲目的加上ob函数,只会增加CPU额外的负担。
ob的基本原则:如果ob缓存打开,则echo的数据首先放在ob缓存。如果是header信息,直接放在程序缓存。当页面执行到最后,会把ob缓存的数据放到程序缓存,然后依次返回给浏览器。
ob的基本作用:
1)防止在浏览器有输出之后再使用setcookie()、header()或session_start()等发送头文件的函数造成的错误。其实这样的用法少用为好,养成良好的代码习惯。
2)捕捉对一些不可获取的函数的输出,比如phpinfo()会输出一大堆的HTML,但是我们无法用一个变量例如$info=phpinfo();来捕捉,这时候ob就管用了。
3)对输出的内容进行处理,例如进行gzip压缩,例如进行简繁转换,例如进行一些字符串替换。
4)生成静态文件,其实就是捕捉整页的输出,然后存成文件。经常在生成HTML,或者整页缓存中使用。

emmm…没看出来什么。接下来,又是搜搜嗖,终于看见了个靠谱的内容!
php中 为什么验证码 必须要开启 ob_clean 才可以显示
关键信息:这表示你的程序前面有输出,<?php 前有空格、空行、文件有BOM头
然后我赶紧返回自己的输出缓冲区康康!

 public function captcha()
        { 
   
            $data = ob_get_contents();
            halt($data);
            return  Captcha::create();
        }

然后得到了…

^ " "

瞬间知道又是自己手贱了
然后检查打开的PHP文件,果然发现了问题

          <?php
//课时费用文件
return [

问题终于解决,
再次提醒自己不要手贱!不过有失有得,可喜可贺,可喜可贺…在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/196511.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • 数据结构C语言严蔚敏版(第二版)超详细笔记附带课后习题[通俗易懂]

    数据结构C语言严蔚敏版(第二版)超详细笔记附带课后习题[通俗易懂]根据此书所做随笔笔记。一、绪论1.1、数据机构的研究内容用计算机解决实际问题时,步骤:首先分析实际问题,从中抽象出一个适当的数学模型,然后设计一个解决此数学模型的算法,最后编程,调试,测试。寻求数据模型的实质是分析问题,从中提取出计算机处理的对象,并找出这些对象之间的关系,然后用数学的语言加以描述。关键:分析问题中所用到的数据是如何组织的,研究数据之间存在什么样的关系。由于数据必须在计算机中处理,因此不能局限于数据本身的数学问题的研究,还必须考虑数据的物理结构,即数据在计算机中的存储结构。1.

    2022年6月10日
  • 多尺度二维离散小波分解wavedec2

    多尺度二维离散小波分解wavedec2对X进行N尺度小波分解[C,S]=wavedec2(X,N,’wname’);clc,clearall,closeall;loadwoman;[c,s]=wavedec2(X,2,’db1′);%进行2尺度二维离散小波分解。分解小波函数-db1[cH1,cV1,cD1]=detcoef2(‘all’,c,s,1);%尺度1的所有方向的高频系数[cH2,cV2,c…

    2022年7月23日
  • centos7配置ip地址

    关于centos7获取IP地址的方法主要有两种,1:动态获取ip;2:设置静态IP地址在配置网络之前我们先要知道centos的网卡名称是什么,centos7不再使用ifconfig命令,可通过命令IPaddr查看,如图,网卡名为ens32,是没有IP地址的1、动态获取ip(前提是你的路由器已经开启了DHCP)修改网卡配置文件vi/etc/sysconfig/netwo…

    2022年4月9日
  • pyqt5 pycharm配置_pycharm安装pyqt5

    pyqt5 pycharm配置_pycharm安装pyqt5安装Python+PyCharm+PyQt51、安装Python访问官网https://www.python.org/,下载最新版本的Python来安装。我这里下了python3.92、安装PyCharm1)下载PyCharm,官网https://www.jetbrains.com/pycharm/download/#section=windows下载Community版本的2)汉化Pycharm:https://blog.csdn.net/qqwangfan…

    2022年8月27日
  • Mybatis中的resultType和resultMap

    一、概述MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap,resultType是直接表示返回类型的,而resultMap则是对外部ResultMap的引用,但是resultType跟resultMap不能同时存在。在MyBatis进行查询映射时,其实查询出来的每一个属性都是放在一个对应的Map里面的,其中键是属性名,值则是其对

    2022年4月6日
  • C语言程序设计第二版 甘勇, 李烨 , 卢冰

    C语言程序设计第二版 甘勇, 李烨 , 卢冰

    2021年9月28日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号