js跨域讀寫cookie,JavaScript 跨域

本文目錄一覽:

如何用js實現跨域獲取cookie

正常情況下,瀏覽器禁止跨域獲取cookie

一般通過sso服務可以實現取得跨域cookie,思路如下:

域A頁面訪問位於域A的服務器,對權限進行驗證

域A服務器於域B服務器通信,記錄一個唯一的加密串用作身份驗證域(並將cookie信息發送給域B服務器)

域A服務器返回302跳轉,跳轉到域B下,並將加密串作為url的一部分

頁面由域A跳轉到域B,域B服務器通過加密串獲取到事先從域A服務器上得到的cookie信息,並在響應頭中添加set-cookie字段設置cookie

怎麼用js跨域讀到iframe里的cookie

第一種很簡單:

將系統B設置為可信站點。

第二種:

IE設置隱私策略:在Internet選項-隱私-高級,將“替代自動cookie處理”的選項打上,並“第一方cookie”和“第三方cookie” 都設置為 接受;如下圖:

第三種:

在response的head上增加p3p協議;

java: 增加一個filter ,在 doFilter 部分:

Java代碼

代碼如下 複製代碼

HttpServletResponse res = (HttpServletResponse) response;

res.setHeader(“P3P”,”CP=CAO PSA OUR”);

js能讀取跨域的cookie嗎

正常情況下,瀏覽器禁止跨域獲取cookie

一般通過sso服務可以實現取得跨域cookie,思路如下:

域A頁面訪問位於域A的服務器,對權限進行驗證

域A服務器於域B服務器通信,記錄一個唯一的加密串用作身份驗證域(並將cookie信息發送給域B服務器)

域A服務器返回302跳轉,跳轉到域B下,並將加密串作為url的一部分

頁面由域A跳轉到域B,域B服務器通過加密串獲取到事先從域A服務器上得到的cookie信息,並在響應頭中添加set-cookie字段設置cookie

js控制cookie跨域

例:a.b.com和c.b.com兩個站,建立方式如下: a.b.com站下建a.html。關鍵代碼如下: script type=”text/javascript” function setCookie(c_name,value,expiredays) { var exdate=new Date(); exdate.setDate(exdate.getDate()+expiredays); alert(exdate.getDate()+expiredays); document.cookie=c_name+ “=” +escape(value)+((expiredays==null) ? “” : “;expires=”+exdate.toGMTString())+”;path=/;domain=b.com”; } window.onload=function(){ setCookie(“listallwjh”,”sfwjh”); alert(“Cookie設置成功!”); } /script c.b.com站下建a.html。關鍵代碼如下 script function getCookie(c_name) { if (document.cookie.length0) { c_start=document.cookie.indexOf(c_name + “=”); if (c_start!=-1) { c_start=c_start + c_name.length+1 ; c_end=document.cookie.indexOf(“;”,c_start); if (c_end==-1) c_end=document.cookie.length; return unescape(document.cookie.substring(c_start,c_end)); } } return “”; } window.onload=function(){ var c_name=”listallwjh”; if(getCookie(“listallwjh”)!=null){ alert(getCookie(“listallwjh”)); } } /script 這兩個一個也面是設置,一個是取,只要保證兩個規則一樣,就行。運行,結果:OK! 註:這兩個方法有時候也可以寫在一起,先判斷cookie是否存在,在創建

js本地能寫入別的域名下的cookie嗎

首先在遊覽器中,跨域是不能操作cookie的,例如a.com是無法寫入到b.com中的,更何況本地了,不過,也是有類似的解決方案的:

不過,以上前提是a.com和b.com都是在自己可控的情況下,比如你是example.com,但你想寫入baidu.com,由於baidu.com不是你所能控制的,所以是不行的。

【以上資料來自網絡】

原創文章,作者:WSDZ,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/140170.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
WSDZ的頭像WSDZ
上一篇 2024-10-04 00:23
下一篇 2024-10-04 00:23

相關推薦

發表回復

登錄後才能評論