鍍金池/ 問答/PHP  Linux/ (求助-重謝)迷茫的跨域驗證碼

(求助-重謝)迷茫的跨域驗證碼

這個問題之前提出沒人幫忙解答,再提一次;
項目采用前后端分離的

APP頁面:
在頁面加載完畢之后加載驗證碼圖片 之后ajax請求獲取session_id

在提交數(shù)據(jù)的時候?qū)ession_id 放到header中

在后臺驗證的時候:

        $value = input('captcha');
        $sessionId = $request->header('session_id');
        session_id($sessionId);
        halt(captcha_check($value));

獲取Session_id 的接口

   public function getSessionId()
    {
        \think\facade\Session::init([
            'auto_start' => false,
        ]);
        session_start();
        $sid = session_id();
        return Tool::showSuccess('獲取成功', ['sid' => $sid]);
    }

之后提交數(shù)據(jù)是可以將session_id 提交出去的
但是提交后驗證碼一直是false 也就是驗證失敗,
請教一下大家 該如何解決

圖片描述

圖片描述

圖片描述

后來看到:從接口中獲取的session_id 和存儲的Redis中的session_id 不一致
請教下大家 有什么辦法解決!???

回答
編輯回答
笨笨噠

先確定一下, 獲取驗證碼圖片時的session_id, 與驗證時header中的session_id是否一致

2018年9月15日 03:49
編輯回答
不將就

前后分離,還不如直接用JS來實現(xiàn)驗證驗證碼,不用那么麻煩去搞跨域問題,要么就利用ajax的jsonp,來傳值跨域

2018年5月11日 03:15
編輯回答
陪我終

在前后端分離的應(yīng)用中使用session是個壞習(xí)慣

2018年2月4日 16:11