Hatena::ブログ(Diary)

なんだかなぁ

2013-08-28 javascriptでサブドメインの異なるサイトでクッキーの共有

[]javascriptサブドメインの異なるサイトでクッキーの共有

こちらの記事を参考にJavascriptサブドメインの異なるサイト間でクッキーの恭有してみました。

http://d.hatena.ne.jp/dirablue/20090506/1241607961

http://www1.example.com/setCookie.html

<html>
<head>
<script type="text/javascript">
function setCookie(id, pass) {
  var s=setCookieSub("id",id);
  document.cookie = s;
  var t=setCookieSub("pass",pass);
  document.cookie = t;
  alert(s+"\n"+t);
}
function setCookieSub(key,val){
  var str = escape(key) + "=" + escape(val);
  str += "; domain=.example.com";
  return str;
}
</script>
</head>
<body>
<input type="button" value="test1-set" onclick="setCookie('012345678901234567890123456789012345678901234567890000','01234567890123456789012345678901234567890123456789AAAA')">
<input type="button" value="test2-set" onclick="setCookie('012345678901234567890123456789012345678901234567891111','01234567890123456789012345678901234567890123456789BBBB')">
</body>
</html>

http://www2.example.com/getCookie.html

<html>
<head>
<script type="text/javascript">
function getCookie() {
  var s="";var t="";
  cookies = document.cookie.split("; ");
  for (i = 0; i < cookies.length; i++) {
    str = cookies[i].split("=");
    if (unescape(str[0]) == "id") s="id = "+unescape(str[1]);
    else if (unescape(str[0]) == "pass") t="pass= "+unescape(str[1]);
  }
  return s+"\n"+t; // undefined
}
</script>
</head>
<body>
<input type="button" value="test1-get" onclick="alert(getCookie())">
</body>

ポイントはHTMLを設置するパスを同じにすることとdomain指定の前にドットをつけることでしょうか?

あとIDやパスワードをクッキーに保存してはいけません^^);

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

リンク元