前端與後端分別是不同的埠,這就涉及到跨域訪問資料的問題,因為瀏覽器的同源策略,預設是不支援兩個不同網域名稱間相互訪問資料,而我們需要在兩個網域名稱間相互傳遞資料,這時我們就要為後端新增跨域訪問的支援。
解決的步驟:在專案後台配置檔案中設定:
(1)新增應用:
(2)設定中介軟體:
(3)新增白名單:設定允許攜帶cookie
# 白名單
cors_origin_whitelist = (
'127.0.0.1:8080',
'127.0.0.1:8000',
'localhost:8080',
'www.***:8080',
'api.***x:8000'
)cors_allow_credentials = true # 允許攜帶cookie
假如使用者登入時候訪問的是伺服器1,但是獲取資訊時訪問伺服器2 ,由於服務2上沒有登入的session資訊,所以又得登入,難以得到擴充套件
(1)作用?:記錄使用者的登入狀態,或者為使用者建立身份認證的憑證
(2)token儲存在請求頭中,在伺服器端一般access-control-allow-origin: *。
(3)jwt的結構(三部分)
①頭部(header)json資料格式:
②載荷(payload):存放有效的資訊: 標準中註冊的宣告
公共的宣告 \ 私有的宣告
③簽名:需要base64加密後的header和base64加密後的payload使用.連線組成的字串,然後通過header中宣告的加密方式進行加鹽secret組合加密,然後就構成了jwt的第三部分
secret是儲存在伺服器端的,jwt的簽發生成也是在伺服器端的,secret就是用來進行jwt的簽發和jwt的驗證,所以,它就是你服務端的私鑰,
一般是在請求頭里加入authorization,並加上bearer標註:
fetch(『api/user/1』,
})
Hook textout可能遇到的問題
一 因為textouta等函式還會呼叫exttextoutw之類函式,如果hook所有textout函式,則對同一次文字輸出,會產生兩次攔截。事實上,所有文字輸出函式最終都會呼叫exttextoutw。所以,如果僅僅是檢視是否有文字輸出,只hook這個函式就可以了。二 exttextouta uin...
Qt發布可能遇到的問題
本文只涉及動態鏈結庫,就是編譯出來的exe檔案加上qt 的必要dll檔案。一般跟別人一樣的操作,直接雙擊 xx.exe,提示缺少什麼dll,就去qt的安裝目錄下的bin資料夾裡去找。我找的目錄是d qt qt5.2.0 5.2.0 msvc2010 bin 複製所需的dll後,提示了這個錯誤。這個錯...
linux 安裝oracle可能遇到的問題
1.bash sqlplus command not found 解決方法 oracle dg1 sqlplus nolog bash sqlplus command not found oracle dg1 ln s oracle home bin sqlplus usr bin ln creat...