cookie為什么不能跨域訪問 js能讀取跨域的cookie嗎?
js能讀取跨域的cookie嗎?正常情況下,瀏覽器禁止獲取跨域cookie一般情況下,跨域cookie可以通過SSO服務(wù)獲取。其思想如下:域a頁面訪問位于域a中的服務(wù)器以驗(yàn)證權(quán)限域a服務(wù)器與域B服務(wù)器
js能讀取跨域的cookie嗎?
正常情況下,瀏覽器禁止獲取跨域cookie
一般情況下,跨域cookie可以通過SSO服務(wù)獲取。其思想如下:
域a頁面訪問位于域a中的服務(wù)器以驗(yàn)證權(quán)限
域a服務(wù)器與域B服務(wù)器通信,記錄一個唯一的加密字符串以用作身份驗(yàn)證域(并將cookie信息發(fā)送到域B服務(wù)器)
域a服務(wù)器返回30 2跳轉(zhuǎn),跳轉(zhuǎn)到域B,然后執(zhí)行作為url的一部分的加密字符串
頁面從域a跳轉(zhuǎn)到域B,域B服務(wù)器通過加密字符串獲取預(yù)先從域a服務(wù)器獲得的cookie信息,并在響應(yīng)頭中添加set cookie字段來設(shè)置cookie
正常情況下,瀏覽器禁止跨域訪問cookies。通常,跨域cookies可以通過SSO服務(wù)獲得。其思想是:域a頁面訪問位于域a中的服務(wù)器,驗(yàn)證權(quán)限,域a服務(wù)器與域B服務(wù)器通信,記錄認(rèn)證域的唯一加密字符串(并向域B服務(wù)器發(fā)送cookie信息),域a服務(wù)器返回302跳到域B,并將加密字符串作為URL的一部分,從a域跳轉(zhuǎn)到B域,B域服務(wù)器通過加密字符串提前從a域服務(wù)器獲取cookie信息,并在響應(yīng)頭中添加set cookie字段來設(shè)置cookie
在指定域中寫入所需cookie
]“創(chuàng)建cookie回應(yīng)。餅干(“MyCookie”).Expires=日期365回應(yīng)。餅干(“MyCookle”)。域=“mydomaln.com網(wǎng)站"
回應(yīng)。餅干(“MyCookle”)(“Username”)=strUsername回應(yīng)。餅干(“mycookie”)(“password”=strpassword
讀寫cookie非常簡單。上面的代碼創(chuàng)建一個cookie并設(shè)置cookie的屬性:域、過期時間和保存在cookie中的其他值。這里,strusename和strpassword是在前面某處設(shè)置的變量。然后,通過下面的語句讀入cookie。
“讀取cookie
datexpdate=請求Cookies(“MyCookie”)
標(biāo)準(zhǔn)域=請求Cookies(“MyCookle”).Domain
結(jié)構(gòu)名稱=請求Cookies(“MyCookle”)(“Username”)
js中cookie可以跨域取值嗎?
此項(xiàng)不可用。
瀏覽器的同源策略不允許跨域讀取Cookie。
如果瀏覽器不允許,Nodejs是服務(wù)器端。當(dāng)然,服務(wù)器無法獲取跨域cookie信息。