問題描述
《thinkphp實現(xiàn)短信驗證注冊》中,小編不止記錄了短信驗證碼的實現(xiàn)方法,同時還記錄了圖片驗證碼的實現(xiàn)方法。
本地使用,一切正常;后端項目和前端項目都部署到服務器,一切正常;后端項目部署到服務器,并設置允許跨域訪問后,本地前端項目使用服務器上后端項目接口時,問題來了:
首先,使用postman測試獲取圖片驗證碼接口和驗證圖片驗證碼接口,正常。
然后,在html中使用獲取圖片驗證碼接口,正常;最后,在JS中使用驗證圖片驗證碼接口,出錯?。?!
分析
通過問題描述,我們看出,問題出現(xiàn)在跨域上。那么,有兩種可能,一種是因為跨域設置不正確;一種是因為thinkphp本身的問題。
采用另外一種跨域配置,問題依然存在。那就是thinkphp本身的問題了,經(jīng)查找資料,問題定位在thinkphp的session跨域上。
跨子域解決辦法
其實不管是ThinkPHP還是php本身,在解決session跨域問題的時候都需要設置session.cookie_domain。
針對session跨域這一問題的解決方法主要有以下幾種:
第一種情況:如果目錄下沒有.htaccess這個文件,也就是沒有采取url偽靜態(tài)的話,那么,在conf/config.php的第一行加上:
ini_set('session.cookie_domain',".domain.com");//跨域訪問Session
這時如果你開啟了調(diào)試,那么可以用!但關閉了調(diào)試,就不管用了!
第二種情況:如果你目錄下有.htaccess這個文件,那么你在根目錄,index.php的第一行加入:
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉無線電——不安全的藍牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現(xiàn)JSON轉Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應用分析 2017-07-26
- 集合結合數(shù)據(jù)結構來看看(二) 2017-07-26