摘要:查找原因無法獲取到是因為同源策略和標記的原因。在同一個站點下使用屬性是無效的。此外,這個指示也會被用做響應中被忽視的標示。而通過設置為獲得的第三方,將會依舊享受同源策略,因此不能被通過或者從頭部相應請求的腳本等訪問。
作者:codexu
_
瀏覽器里明明存在的cookie,居然獲取不到???
console.log(document.cookie); // 沒有???起因
近來閑來無事,打算了解一下后端,既然想一探究竟,就從基本的注冊登錄開始做起。
技術選型作為一名前端開發人員,用 Node.js 去體驗后端應該是最快上手的方式了。看了一下文檔,好長...沒那么多時間看,直接...
框架 koa2
數據庫 Mysql,不會操作數據庫找到了 Sequelize
請求 Axios
思路賬戶密碼,不做加密,直接明文。
登陸
使用 jwt (jsonwebtoken) 生成 token 。
使用 koa2 ctx.cookies.set 在后端設置 cookie ,保存 token 。
跨域請求 koa2-cors
問題來了問題一:填好用戶名密碼,點擊登錄,瀏覽器中沒有被設置 cookie
解決辦法: 使用 Axios 請求時,增加屬性 withCredentials: true,這樣就請求就可以攜帶 cookie 了。
產生這種情況的原因是因為 koa2-cors,如果在前端使用代理跨域不會出現這種情況。
問題二:瀏覽器中雖然能看到 cookie 中已經存在 token,但是前端代碼中獲取不到
解決辦法:koa2 設置 cookie 時,設置 httpOnly: false 即可。
查找原因doucment.cookie 無法獲取到 cookie 是因為 同源策略 和 HttpOnly 標記的原因。
withCredentials:表示跨域請求時是否需要使用憑證,默認是 false
MDN
XMLHttpRequest.withCredentials 屬性是一個 Boolean 類型,它指示了是否該使用類似 cookies,authorization headers(頭部授權)或者TLS客戶端證書這一類資格證書來創建一個跨站點訪問控制(cross-site Access-Control)請求。在同一個站點下使用 withCredentials 屬性是無效的。
此外,這個指示也會被用做響應中 cookies 被忽視的標示。默認值是 false。
如果在發送來自其他域的 XMLHttpRequest 請求之前,未設置 withCredentials 為true,那么就不能為它自己的域設置 cookie 值。而通過設置 withCredentials 為true獲得的第三方 cookies,將會依舊享受同源策略,因此不能被通過 document.cookie 或者從頭部相應請求的腳本等訪問。
httpOnly:服務器可訪問 cookie, 默認是 true
MDN換種方式
為避免跨域腳本 (XSS) 攻擊,通過JavaScript的 Document.cookie API無法訪問帶有 HttpOnly 標記的Cookie,它們只應該發送給服務端。如果包含服務端 Session 信息的 Cookie 不想被客戶端 JavaScript 腳本調用,那么就應該為其設置 HttpOnly 標記。
MDN 上說 可能會 XSS 攻擊,所以換種方式,存儲到 localstorage 里吧。請求時,將 token 加在 header 中 Authorization。
總結雖然繞了一圈,好像總結了兩個沒啥卵用的知識點,但是學習就是這樣,遇到坑就積累一下。
希望有大佬能指點一下,如何做一個安全的登錄。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/106886.html
摘要:先把當成文件,依次查找當前目錄下的,找到了,就返回該文件,不再繼續執行。那么關于正確的結論是在中使用是跟的效果相同,不會因為啟動腳本的目錄不一樣而改變,在其他情況下跟效果相同,是相對于啟動腳本所在目錄的路徑。 起因 原文收錄在我的 GitHub博客 (https://github.com/jawil/blog) ,喜歡的可以關注最新動態,大家一起多交流學習,共同進步,以學習者的身份寫博...
摘要:先把當成文件,依次查找當前目錄下的,找到了,就返回該文件,不再繼續執行。那么關于正確的結論是在中使用是跟的效果相同,不會因為啟動腳本的目錄不一樣而改變,在其他情況下跟效果相同,是相對于啟動腳本所在目錄的路徑。 起因 原文收錄在我的 GitHub博客 (https://github.com/jawil/blog) ,喜歡的可以關注最新動態,大家一起多交流學習,共同進步,以學習者的身份寫博...
摘要:初來乍到,請多多指教,踏入廣州那一刻,我滿懷熱情的對廣州說。本以為,作為大學畢業的我,在國內最大的軟件服務商被寄予厚望的我,在廣州應該也是個熱餑餑,不愁吃不愁穿不愁的。然而現實是廣州的公司對我并沒有多多指教,而是多多拋棄。 十月,金秋季節,本是豐收之時,卻因為陸續有同事離職,心中多少有些悲涼之意,頓然想起從參加工作到現在,五年已過,當年青澀懵懂的小年輕,如今出街招搖過市時,被小孩子看到...
摘要:初來乍到,請多多指教,踏入廣州那一刻,我滿懷熱情的對廣州說。本以為,作為大學畢業的我,在國內最大的軟件服務商被寄予厚望的我,在廣州應該也是個熱餑餑,不愁吃不愁穿不愁的。然而現實是廣州的公司對我并沒有多多指教,而是多多拋棄。 十月,金秋季節,本是豐收之時,卻因為陸續有同事離職,心中多少有些悲涼之意,頓然想起從參加工作到現在,五年已過,當年青澀懵懂的小年輕,如今出街招搖過市時,被小孩子看到...
閱讀 4610·2021-09-22 14:57
閱讀 567·2019-08-30 15:56
閱讀 2673·2019-08-30 15:53
閱讀 2245·2019-08-29 14:15
閱讀 1692·2019-08-28 17:54
閱讀 564·2019-08-26 13:37
閱讀 3485·2019-08-26 10:57
閱讀 1050·2019-08-26 10:32