精华内容
下载资源
问答
  • $result = array("code"=>-1,"msg"=>"手机号或验证码不能为空!"); }elseif(!preg_match("/^1[34578]{1}\d{9}$/",$shouji)){ $result = array("code"=>-2,"msg"=>"手机号不合法!"); }elseif($code != $_...
  • 详细说明: 验证码请求后台图片正常显示,android、ios都可以。但是输入验证码到后台进行与图片验证码数字校验 时,android 可以正常校对,ios会产生一个新的session,所以获取到信息。用IOS微信和外...

    问题描述:之前在H5页面用session做了一个验证码。安卓手机好使。但是到苹果就不好使了(页面访问是一个域名地址,ajax请求是用另外的一个ip地址)。

       详细说明: 验证码请求后台图片正常显示,android、ios都可以。但是输入验证码到后台进行与图片的验证码数字校验 时,android 可以正常校对,ios会产生一个新的session,所以获取不到信息。用IOS 微信 和外部QQ浏览器 都不好使;

                  问:请求用的是域名还是ip? 

         答:ajax 里面是IP 

         注意:这时的两个web请求不是同一个域名。

           1、 验证码显示如: 

            

             2、 后台代码:

                           跨域设置:

                                    

                                  

                                   

                                   

     

           最后是如何解决的呢?

             因为请求和应用本身不是同一个web应用,加上safari机制导致两次ajax请求有两个session  ,不是同一个session,所以验证码取不到      

             解决方案一(好使):有一种简单的方式可以绕过去,在原页面(网页浏览器域名路径)的域名上加个子域名映射映射到(ajax请求的ip),然后 

        ajax请求使用这个映射的子域名访问。

                  这里要注意:原来可能不好使的手机需要清理下缓存重新测试!

     

        不好使的方案:直接把现有的ip改成域名

        其他不建议的方案:这里的小条是请求的页面域名,欠条是ajax请求的ip地址路径

                               

            页面请求如下:

           

     

     

     

                                               

     

    展开全文
  • 在一个登录页面,我使用了base64编码验证码图片,然后在小程序端显示,提交测试之前,在微信开发工具和我的手机上都是很正常的显示,今天提交测试,测试人员反馈说图片显示不出来,当时就很纳闷,base64应该没有什么...

    最近在做一个小程序项目遇到一个问题,在一个登录页面,我使用了base64编码验证码图片,然后在小程序端显示,提交测试之前,在微信开发工具和我的手机上都是很正常的显示,今天提交测试,测试人员反馈说图片显示不出来,当时就很纳闷,base64应该没有什么兼容性问题的呀,接着我使用了几台安卓和苹果分别做了测试,发现苹果手机都能正常显示,但是安卓手机都显示不出来。网上搜索了解决方法:

     var arr = wx.base64ToArrayBuffer(base64Str);
     var base64Img = 'data:image/png;base64,'+wx.arrayBufferToBase64(arr);
                   

    其中base64Str就是要图片转换成base64后的字符串,将base64Img放入image元素src节点就可以正常显示了

    展开全文
  • 发送给后端,后端使用captcha包生成图形验证码图片,将uuid和图形验证码以key和value的格式保存到专门保存图形验证码的redis数据库中,然后把图片返回给前端在页面中显示出来,做为手机验证码的铺垫 html中 html负责...

    生成图形验证码是前端生成uuid,发送给后端,后端使用captcha包生成图形验证码和图片,将uuid和图形验证码以key和value的格式保存到专门保存图形验证码的redis数据库中,然后把图片返回给前端在页面中显示出来,做为手机验证码的铺垫

    html中

    html负责页面展示,其中绑定了js中的方法

    <li>
    <label>图形验证码</label>
    <input type="text" v-model="image_code" @blur="check_image_code" id="pic_code" class="msg_input">
    <img:src="image_code_url" @click="generate_image_code" alt="图形验证码" class="pic_code">
    <span class="error_tip" v-show="error_image_code"<[[error_image_code_message]]</span>
    </li>

    @blur是失去焦点事件
    @click是鼠标单击事件
    img:src=“路径” 链接到指定路径

    js中

    前端生成uuid并且发送给后端
    js与html进行绑定,事件执行方法都在其中

    mounted(){
    #监听页面是否加载完成,如果页面加载完成自动调用方法
    this.generate_image_code();},
    
    method:{#事件,方法
    generate_image_code(){
    #生成uuid
    this.uuid=generateUUID;
    #给image_code_url赋值,拼接uuid,这里去寻找后端路由,所以和后端路由格式和参数要一致
    this.image_code_url="/image_codes/"+"this.uuid"+"/";}}
    #前端路由拼接一定不能忘记根路径/

    子路由url中

    urlpatterns=[
    	url(r'^image_codes/(?P<uuid>[\w-]+)/$,views.ImageVodeView.as_view()),]
    #这个路由格式一定要和js中前端方法,向后端发路由的拼接的路由地址,格式和参数一模一样,路由格式是后端定义的	

    视图函数

    在子应用里导入captcha包

    class ImageVodeView(View):
    	def get(self,request,uuid):
    		#生成图形验证码,和图片
    		text,image=captcha.generate_captcha()
    		#连接专门存储图形验证码的redis数据库
    		redis_conn=get_redis_connection('verfy_code')
    		#把前端传过来的uuid和自己生成的图形验证码以key/value的形式存在redis里
    		redis_conn.setex('img_%s'%uuid,300,'text')
    		#把生成的图片返回给前端
    		return http.HttpResponse(image,content_type='image/jpg')	
    展开全文
  • MVC中验证码的生成

    2019-06-09 21:12:36
    还有一个验证码输入框和验证码的一个获取类型,这里的验证码输入框和账号输入框是一样的,都是文本框,而且输入内容都是可见的,至于验证码获取,有很多种类型,有图片验证码手机短信验证码等...

    进行开发某些项目的时候,一般情况下每一个项目都是会有一个登录的功能,这个登录的功能主要包括一个账号输入框,也就是文本框,一个密码框,这个密码框也是文本框的一种,只不过它这个框里面输入的字符是不可见的,全部显示为一个*号,还有一个验证码输入框和验证码的一个获取类型,这里的验证码输入框和账号输入框是一样的,都是文本框,而且输入内容都是可见的,至于验证码获取,有很多种类型,有图片验证码,手机短信验证码等等,现在我们常见的验证码就是这两种,还有一个是登录按钮,一个登录的功能基本就是由以上几个模块组成。

    我们都知道,账号输入框的和密码输入框和验证码输入框都是属于文本框,也就是input标签,这就不用我细说了,对于验证码呢?有图片验证码和手机号短信验证码,我就简单的介绍一下在MVC中它图片验证码的生成方法。

    首先我们得有一个页面,在页面上得有一个装图片验证码的容器,在容器里面放置一个img图片标签,然后切换到MVC控制台代码页,先定义一个控制台方法,内容如下:

    public ActionResult CreateValidCodeImage()

            {

                //1、生成长度为5的随机的验证码字符串

                string strRandom = ValidCodeUtils.GetRandomCode(5);

                //2、根据生成的验证码字符串生成 验证码图片

                byte[] imgByte = ValidCodeUtils.CreateImage(strRandom);

                //3、将验证码字符串存入session中 key值为

                Session["validCode"] = strRandom;

                //4、把图片返回到视图

                return File(imgByte, @"image/jpeg");

            }

    紧接着再定义一个公共静态类的方法,静态类内容如下:

    public static class ValidCodeUtils//static class公共静态类

        {

            /// <summary>

            /// 获得随机字符串

            /// </summary>

            /// <param name="intLength">随机数的长度</param>

            /// <returns>随机数字符串</returns>

            public static string GetRandomCode(int intLength)//公共静态类的方法

            //static string GetRandomCode(int intLength)产生一个随机的字符串编码/(int intLength)参数表示随机数的长度,你需要多少位数的字符串随机验证码

            {

                ///*产生数字和密码混合的随机数*/

                string strReturn = string.Empty;

                Random random = new Random();//Random创建随机类用来随机生成数字

                for (int i = 0;i< intLength; i++)//for循环,需要几位数就循环多少次

                {

                    char cRerult;//产生的是随机的数字,而表示字符串,

                    int intRandom = random.Next();//产生一个非负随机整数,验证码中不能有负数的出现0到正无穷

                    //根据当前随机数来确定字符串

                    //intRandom %3 获取的是intRandom 除以3得到的余数

                    if (intRandom % 3 == 0)//如果intRandom除以3为0的话就执行以下代码

                    {

                        //产生数字

                        //位数来产生数字

                        cRerult = (char)(0x30 + (intRandom % 10));

                    }

                    else if(intRandom % 3 == 1)

                    {

                        //产生大写字母 :大写字符 65-97 A 65

                        //68 D 25 Z   ----65-97==A--Z

                        cRerult = (char)(0x41 + (intRandom % 0x1a));

                        //40==65///1a==26%1=25 产生范围65+25

                    }

                    else

                    {

                        //余数为2

                        //产生小写字母: 98-116= a - z

                        cRerult = (char)(0x61 + (intRandom % 0x1a));

     

                    }

                    //拼接数字和字符产生字符串-

                    strReturn += cRerult.ToString();

                }

                //返回一个随机产生的字符串

                return strReturn;

            }

    完成上面一步之后,再定义一个方法,根据字符串创建一个验证码,内容如下:

    public static byte[] CreateImage(string strRandom)//把上面的获取到的随机字符串传进来

            {

                //新增一张白纸图片画布,

                Bitmap newBitmap = new Bitmap(300, 150);//

     

                //添加一支画笔

                Graphics g = Graphics.FromImage(newBitmap);

                //填充画布的颜色,默认是空的

                g.Clear(Color.White) ;//填充白色背景

     

                //在图片上绘制文字

                SolidBrush solidBrush=new SolidBrush(Color.LightCoral);//写在画布上的字符串的颜色

                g.DrawString(strRandom, new Font("Aril", 66), solidBrush, 100, 18);//DrawString画、strRandom, new Font("Aril", 18)画字符串,字体大小、solidBrush, 12, 4从哪里开始画X,y轴

                //画干扰线//目的为了拦截机器识别

                //再创建一个随机类

                 Random random = new Random();

                //画10条

                for(int i = 0; i < 10; i++)

                {

                    //产生一条线,并绘制到画布。 起始点(x,y)  总结点

                    //坐标

                    int x1 = random.Next(newBitmap.Width);

                    int y1 = random.Next(newBitmap.Height);

                    int x2 = random.Next(newBitmap.Width);

                    int y2 = random.Next(newBitmap.Height);

                    g.DrawLine(new Pen(Color.Red), x1, y1, x2, y2);

                }

                //绘制图片的前景的干扰点

                for(int i = 0; i < 1000; i++)

                {

                    int x = random.Next(newBitmap.Width);

                    int y = random.Next(newBitmap.Height);

                    newBitmap.SetPixel(x, y, Color.FromArgb(random.Next()));//颜色随机,通过随机数转化一种颜色出来

                }

                //在最外边绘制边框

                g.DrawRectangle(new Pen(Color.Blue), 0, 0, newBitmap.Width, newBitmap.Height);

                g.DrawRectangle(new Pen(Color.Blue), -1, -1, newBitmap.Width, newBitmap.Height);

                //将图片保存到内存流当中

                MemoryStream ms = new MemoryStream();//MemoryStream内存流

                newBitmap.Save(ms, ImageFormat.Jpeg);

                return ms.ToArray();//将流内容写入byte数组返回//返回成数组

            }

    上面方法全部完成之后,再回到页面上,在前面已经搭建好的图片验证码的容器里面的img标签添加一个路径src,路径就是控制台+刚刚上面定义好的第一个方法的名称,图片示例如下:

    这样基本上一个图片验证码的生成就完成了,下面是页面实现效果:

    当然,上面也说了,这只不过是基本完成而已,这个样子你的验证码是固定的,不会改变,只有强制刷新页面才会改变,这个时候,我们可以定义一个方法,每出发这个方法的时候,就调用一次验证码生成的方法,好比如我是通过点击拥有某一个ID名称的元素来触发这个方法,那么下面是代码写法:

    $("#yzm").click(function () {

                    //alert("绑定成功");

                    $(this).prop("src", "/yanzhengma/CreateValidCodeImage?t=" + new Date().getTime());//为了避免浏览器的缓存机制,改变参数

                })

    至于浏览器有一个缓存机制,所以我们要改变一下路径的参数,不然验证码的图片也是不会改变的。

    展开全文
  • Java验证码的实现

    2019-08-23 21:13:21
    我们以前在浏览网页进行登录操作时,是不是经常预见验证码的验证,当然不是指手机短信上的,这篇文是介绍在网页中,验证码如何绘制,后续的文章会通过小项目来说明如何进行验证。 首先来说一下实现的步骤: 1、需要...
  • 网易邮箱大师的下载,提供...preview里面显示的是一个验证码图片,response中却没有任何内容。打破了我固有的认识,之前以为返回的也是一张jpg或者其他格式的图片。(后来想想,这样利于后台对用户输入验证码的验证。
  • 图片加载出来,请尝试开串联梯子 如果好用,可以给个Star。您的支持是我最大的动力! 建议使用前运行Demo。常用功能在Demo中都有体现。 组件特点 支持iOS12短信验证码自动填充 支持Masonry 支持密文显示 支持...
  • 另外vivo这款手机调整了分辨率(2280*1080)知道有没有关系。 <a href="https://github.com/AirtestProject/Airtest/files/3863663/log.txt">log.txt</a></p> <pre><code> (在这里粘贴...
  • 用户提现时会显示扣除一定数量的手续费给平台使用。12.任务管理:可以对用户进行任务编辑审核,放弃审核任务,管理员可以后台审核任务通过,才能展示出来13.会员管理:每天可以签到有积分14.后台管理:拥有手机端管理和...
  • 手机验证码" style="width:160px;"> 获取手机验证码</button> ``` ![图片说明](https://img-ask.csdn.net/upload/201507/24/1437747482_233441.png) 这样好看,如何设置包button放到input后面。请各位老师指点...
  • 微信通源码+wap手机

    2015-08-06 17:27:51
    2014.10.17 修复品牌专区,图片不显示问题 2014.10.17 底部隐藏菜单增加默认展开方式,点击一下隐藏。原版是默认隐藏点击后展开。2种方式亲可以任意选择。 2014.10.16 手机模板首页增加文章展示区,可以选择系统...
  • 科美智能企业网站管理...2.修复后台登录验证码在某些浏览器不显示问题。 科美智能企业网站管理系统标准版(带手机版) v5.0 更新日志: 1.前台联系方式增加QQ在线客服功能; 2.修复产品列表在某些浏览器下显示错位问题。
  •  程序后台带采集功能,可自动采集文章、图片、软件等信息,频道、栏目自行添加修改删除、自定义增加频道显示字段。可设置绑定二级域名,整站支持伪静态和生成静态html功能。支持多级管理权限控制,多级管理权限设置...
  •  程序后台带采集功能,可自动采集文章、图片、软件等信息,频道、栏目自行添加修改删除、自定义增加频道显示字段。 可设置绑定二级域名,整站支持伪静态和生成静态html功能。支持多级管理权限控制,多级管理权限...
  • 2.修改登录验证码不显示。 3.修复重复修改提示错误。 4.修复自定义菜单生成模块。 5.修复商品图片批量上传不成功问题。 6.修复商品分类异步修改生效模块,同时修复点击修改后打开的空白页面。 7.修复关键词回复不能...
  • 程序后台带采集功能,可自动采集文章、图片、软件等信息,频道、栏目自行添加修改删除、自定义增加频道显示字段。可设置绑定二级域名,整站支持伪静态和生成静态html功能。支持多级管理权限控制,多级管理权限设置。...
  • 天人文章管理系统简介 天人文章管理系统是一套asp access代码构建的网站系统,如对默认模板满意,在后台可更换其他模板,使用dreamweaver就可进行可视化修改,主要应用在文章,图片类型的网站中,例如制作小说网站...
  • 电脑版,手机版,平板版无缝自动切换,一个后台同步管理,支持seo整站静态化及动态切换,一键更换模板、安装插件、升级包,使用dreamweaver就可进行可视化修改,主要应用在文章,图片类型的网站中,例如小说网站,...
  • 电脑版,手机版,平板版无缝自动切换,一个后台同步管理,支持seo整站静态化及动态切换,一键更换模板、安装插件、升级包,使用dreamweaver就可进行可视化修改,主要应用在文章,图片类型的网站中,例如小说网站,...
  • 电脑版,手机版,平板版无缝自动切换,一个后台同步管理,支持seo整站静态化及动态切换,一键更换模板、安装插件、升级包,使用dreamweaver就可进行可视化修改,主要应用在文章,图片类型的网站中,例如小说网站,...
  • 电脑版,手机版,平板版无缝自动切换,一个后台同步管理,支持seo整站静态化及动态切换,一键更换模板、安装插件、升级包,使用dreamweaver就可进行可视化修改,主要应用在文章,图片类型的网站中,例如小说网站,...
  • 天人文章管理系统简介 天人文章管理系统是一套asp access代码构建的网站系统,如对默认模板满意,在后台可更换其他模板,使用dreamweaver就可进行可视化修改,主要应用在文章,图片类型的网站中,例如制作小说网站...
  • 调用直接返回一张图片图片上面显示4个随机数,后台记录手机端第一次调用这个图片时的sessionid,之后,我app端填写完资料,提交数据时,提示验证码错误,后台查看输出日志,发现sessionid一致问题。百度了下,...
  • 修复热门推荐,猜你喜欢,推荐商品,使用的懒加载图片技术不显示图片问题; 都修复启用伪静态时,无法按价格搜索; 修复晒单功能,如果后台修改上传路经时,无法显示晒单图片; 优化手机版相关一些细节上BUG,列表...
  • 注册2.1用户账号默认为手机号2.2图片验证码正确后才能发送短信验证码2.3短信验证码每60秒可发送一次2.4每个条件出错时有相应错误提示 登陆3.1用手机号与密码登陆3.2错误时有相应提示 房屋列表页4.1可根据居住时间,...
  • 2.原来是手机号验证码,现在是图片验证码,只需要给img设置为变量就行 3.v-if能绑定一个方法 否则会多次渲染 这个问题改了好久才发现 https://forum.vuejs.org/t/v-if/13350 4.qs.stringfy 和json.stringfy 我发现...
  • 2、模仿小米手机视觉差产品图片展示 3、淡入淡出式轮播图 4、点出左右按钮图片组切换轮播图 5、百页窗效果轮播图 6、模拟相册效果可点击放大左右切换 7、CSS3实现广告轮播器 8、实现电商网站放大镜效果 9、实现鼠标...

空空如也

空空如也

1 2 3 4 5 ... 12
收藏数 233
精华内容 93
关键字:

手机图片验证码不显示