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地址路徑
? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ?頁面請求如下:
?
?
?
?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
?
轉載于:https://www.cnblogs.com/liran123/p/9186391.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的session图片验证码,页面和请求是两个地址。android手机好用,iphone 失效。的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android studio2.3.3升
- 下一篇: String_boot热部署学习