LoginSignup
0
0

More than 3 years have passed since last update.

【メモ】Cookie(野性爆弾ではない)

Last updated at Posted at 2019-08-22

COOKIEデータ

名前と値のセットで指定する。
EX) name=kawashima;

有効期限

以下の2種類のいずれかの方法でセットする。両方指定していた場合はmax-ageが優先される。
未設定の場合はセッション切れとともに消滅する。

expires

消滅までの日付をUTC形式でセットする。

365日後に消滅する例

expires='Fri, 21 Aug 2020 04:41:48 GMT';

UTC形式取得方法(javascript)

1年後の日付をUTCで取得する関数です。
コピペする場合、関数名や引数とかは適宜変えて下さい。

sample.js
function cookieDeadlineUTC(days=365){
  var expire = new Date();
  expire.setTime(expire.getTime() + 1000*3600*24*days);
  return expire.toUTCString();
}

max-age

消滅までの秒数でセットする(IE6,7,8は非対応)

10分後に消滅する例

max-age=600;

有効範囲

セットしたCOOKIEの有効範囲をセットする。

domain

未設定:現ドメイン下で有効になる。ただしサブドメインは対象外。
設定:現ドメイン、サブドメイン下で有効になる。

ketabawo.asia内で有効化する例

domain=ketabawo.asia;

path

複数指定は半角カンマで区切れば良さそう(要調査)でも基本はドメインルート(未設定or[/])指定でOK。
未設定:対象ドメイン下で有効となる。
設定:セットしたディレクトリ下で有効となる

/hogeディレクトリ下で有効にする例

path=/hoge;

まとめ

10日間、ドメインgoogle.com内で有効なクッキー名「user」、値「premium」をセットする例

sample.js
document.cookie = 'user=premium; max-age=86400; domain=google.com;';

pathは未設定でルートとなるため指定しない

削除するには?

max-ageを0にすれば消えます。
もし消えない場合はdomainやpathも空の値でやってみてください。

上記cookieを消す例

sample.js
document.cookie = 'user=; max-age=0;';
//もしくは
document.cookie = 'user=; max-age=0; domain=; path=;';

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0