session图片验证码,页面和请求是两个地址。android手机好用,iphone 失效。
问题描述:之前在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地址路径

页面请求如下:

session图片验证码,页面和请求是两个地址。android手机好用,iphone 失效。的更多相关文章
- android 向serverGet和Post请求的两种方式,android向server发送文件,自己组装协议和借助第三方开源
一个适用于Android平台的第三方和apache的非常多东西类似,仅仅是用于Android上 我在项目里用的是这个 https://github.com/loopj/android-async-ht ...
- 手机浏览器页面点击不跳转(Android手机部分浏览器) 浏览器双击放大网页 解决
手机端web网页项目(angluar js 1.4.6) 1,网页项目开发过程中,使用PC浏览器能正常访问,IOS设备浏览器也能正常访问,但是使用Android部分浏览器进行访问的时候,链接偶尔不跳转 ...
- 基于spring mvc的图片验证码实现
本文实现基于spring mvc的图片验证码,分后台代码和前端页面的展现以及验证码的验证. 首看后台实现代码: @RequestMapping({"authCode"}) publ ...
- 【Spring】基于SpringMVC的图片验证码功能实现
后台实现代码: ImgController.java 文件 package cn.shop.controller; import java.awt.Color; import java.awt.Fon ...
- 【原创】基于phpGrace+uniApp开发之:5.登录界面增加图片验证码
1.目的: 采用phpGrace中的图片验证码,在用户名+密码登录时使用图片验证码进行验证. 2.文档地址: 图片验证码的文档地址:http://www.phpgrace.com/tools/info ...
- 从session实现机制分析模拟请求验证码的可行性(转)
悲剧了,发现写完这篇blog没有配上这个格调超高的标题. 1.0问题背景 现在要实现一个带验证码网站的的自动登陆功能.验证码识别过程不再这篇文章的讨论之中.(之后有篇文章我会详细的总结验证码的识别 ...
- 关于用户禁用Cookie的解决办法和Session的图片验证码应用
当用户通过客户端浏览页面初始化了Session之后(如:添加购物车,用户登陆等),服务器会将这些session数据保存在:Windows保存在C:\WINDOWS\Temp的目录下,Linux则是保存 ...
- Apache 后台服务器(主要处理php及一些功能请求 如:中文url) Nginx 前端服务器(利用它占用系统资源少得优势来处理静态页面大量请求) Lighttpd 图片服务器 总体来说,随着nginx功能得完善将使他成为今后web server得主流。
Apache 后台服务器(主要处理php及一些功能请求 如:中文url) Nginx 前端服务器(利用它占用系统资源少得优势来处理静态页面大量请求) Lighttpd 图片服务器 总体来说,随着ngi ...
- Django(九)下:Ajax操作、图片验证码、KindEditor使用
三.Ajax操作 ajax操作基于浏览器的xmlHttpRequest对象,IE低版本是另外一个对象,jQuery 1 版本对那两个对象做了封装,兼容性最好,2 .3版本不再支持IE低版本了. Aja ...
随机推荐
- DB2日常维护常用命令
1.检查是否有僵尸进程 ps -emo THREAD | grep -i Z | grep -i 实例名 2.处理死锁 --第一步:查看所有死锁 db2 get snapshot for lock ...
- git配置全局用户名
点击右键 ,点击git bash here 在控制面板输入 git config --global user.name "xxx" git config --global user ...
- mysql中删除重复记录,只保留一条
表结构如下: mysql> desc test1; +--------------+------------------+------+-----+---------+------------- ...
- ubuntu下file_get_contents返回空字符串
ubuntu下file_get_contents返回空字符串 | 浏览:302 | 更新:2014-03-30 10:11 本文起初面临的问题是PHP中SoapClient不好使,最后file_get ...
- [转]OpenContrail 体系架构文档
OpenContrail 体系架构文档 英文原文:http://opencontrail.org/opencontrail-architecture-documentation/ 翻译者:@KkBLu ...
- web browser 发展史
浏览器是指可以显示网页服务器或者文件系统的HTML文件(标准通用标记语言的一个应用)内容,用来显示在万维网或局域网等内的文字.图像及其他信息,便于人们的浏览. Tim Berners-Lee是第一个使 ...
- Java的简单类型不能够精确的对浮点数进行运算
由于Java的简单类型不能够精确的对浮点数进行运算,这个工具类提供精确的浮点数运算,包括加减乘除和四舍五入. import java.math.BigDecimal; /** * 由于Java的简单类 ...
- C/C++中宏定义#pragma once与 #ifndef的区别
为了避免同一个文件被include多次,我们可以通过以下两种方式来进行宏定义: 1. #ifndef方式2. #pragma once方式 在能够支持这两种方式的编译器上,二者并没有太大的区别,但是两 ...
- js-完整轮播图
js-完整轮播图 今天写一个完整的轮播图,首先它需要实现三个功能:1.鼠标放在小圆点上实现轮播.2.点击焦点按钮实现轮播.3.无缝自动轮播. 轮播图的原理: 一系列的大小相等的图片平铺,利用CSS布 ...
- AI - 机器学习常见算法简介(Common Algorithms)
机器学习常见算法简介 - 原文链接:http://usblogs.pwc.com/emerging-technology/machine-learning-methods-infographic/ 应 ...