session图片验证码,页面和请求是两个地址。android手机好用,aphone 失效。

问题描述:之前在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地址路径

       页面请求如下:

      

                                           

原文地址:https://www.cnblogs.com/liran123/p/9186391.html

时间: 2024-10-17 10:09:48

session图片验证码,页面和请求是两个地址。android手机好用,aphone 失效。的相关文章

android 向服务器Get和Post请求的两种方式,android向服务器发送文件,自己组装协议和借助第三方开源

/** * @author [email protected] * @time 20140606 */ package com.intbird.utils; import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream

基于spring mvc的图片验证码实现

基于spring mvc的图片验证码实现 标签: springmvcspring mvc验证码验证码验证 2016-01-28 10:49 8015人阅读 评论(4) 收藏 举报  分类: 表单处理 版权声明:本文为博主原创文章,未经博主允许不得转载. 本文实现基于spring mvc的图片验证码,分后台代码和前端页面的展现以及验证码的验证. 首看后台实现代码: @RequestMapping({"authCode"}) public void getAuthCode(HttpServ

【Spring】基于SpringMVC的图片验证码功能实现

后台实现代码: ImgController.java 文件 package cn.shop.controller; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.IOException; import java.util.HashMap; import java.util.Map; import j

从session实现机制分析模拟请求验证码的可行性(转)

悲剧了,发现写完这篇blog没有配上这个格调超高的标题. 1.0问题背景 现在要实现一个带验证码网站的的自动登陆功能.验证码识别过程不再这篇文章的讨论之中.(之后有篇文章我会详细的总结验证码的识别过程).现在问题来了,怎么拿到你本次请求登陆页面的验证码图片? 2.0方案分析 现在有几种思路: (1)请求登陆页面,截取验证码图片,类似截屏,seleinum,webbrower的DrawToBitmap()等. (2)还是webbrower,将图片复制到剪切板在从剪切板中搞出来 HTMLContro

关于用户禁用Cookie的解决办法和Session的图片验证码应用

当用户通过客户端浏览页面初始化了Session之后(如:添加购物车,用户登陆等),服务器会将这些session数据保存在:Windows保存在C:\WINDOWS\Temp的目录下,Linux则是保存在/tmp 或 /var/lib/php/session目录下,之后给客户端返回一个Set-Cookie的参数(该参数表示在服务器端创建的Session_ID,可在http协议中看到),当该服务器的其他web端需要Session数据时则客户端会向服务器发送这个Session_ID,服务器就可以从Se

django图片验证码和滑动验证

1. django-simple-captcha 模块 安装 django-simple-captcha pip install django-simple-captcha pip install Pillow 注册 和注册 app 一样,captcha 也需要注册到 settings 中.同时它也会创建自己的数据表,因此还需要数据同步. # settings.py INSTALLED_APPS = [ ... 'captcha', ] # 执行命令进行数据迁徙,会发现数据库中多了一个 capt

用Session实现验证码

新建一个 ashx 一般处理程序 如: YZM.ashx继承接口 IRequiresSessionState //在一般处理程序里面继承 HttpContext context 为请求上下文,包含此次请求处理要使用到的信息和对象都在里面,有Response,有Request 下面为 YZM.ashx网页内容: public class YZM : IHttpHandler,System.Web.SessionState.IRequiresSessionState { public void Pr

【Nodejs项目手记】Nodejs中使用图片验证码,captchapng模块可以解决Nodejs图片验证码

Nodejs项目,在做图片验证码的时候遇到了难题.Nodejs没有图片库,以后会有,但是现在没有. 网络上搜索一圈,有几个解决方案: 1.采用第三方验证码程序,有的时候,项目可能不允许: 2.使用Java或者PHP生成图片,Nodejs调用,中间采用Redies共享: 这两种方式都不太理想,好在终于找到了可以支持Nodejs图片验证码的一个库,虽然只支持数字,但是也还不错.原理是使用Base64的图片编码方式. 这个库的Gighub地址是:https://github.com/GeorgeCha

WebSite---前台系统图片验证码心得

背景: 因为移动端APP和Msite手机注册发送短信验证码没有添加图片验证码功能.公司的短信接口被恶意刷取.所以我们就觉得在移动端添加一个图片验证码功能.分享一下大体实现方式思路.PS demo是自己写的.跟公司代码还是有很大差距的.    一. 图片验证码第一版       1. 建立图片验证码 ValidationCodeHelper 1.1 填写方法生成对应的.验证码: 默认是4位数字 1 private static char[] _constant = { 2 '0','1','2',