0
0

More than 3 years have passed since last update.

クッキーをブラウザで覗いてみる/JQuaryで設定

Last updated at Posted at 2021-03-27

前提として

この記事ではクッキーに入れる情報を、クライアント側で設定していますが、
セキュリティ上、基本的には「クッキーに入れる情報はサーバー側で用意したものをフロントで保管するだけ」であるべきという考えが現在は主流となっているそうです。

ーーーーーーーー

クッキー情報の取得方法などを学習がてらまとめて書いてみます。
クッキーの仕組みをまとめた記事はこちらがとてもわかりやすかったです。こちらを読んだ上or理解された上でお気軽にお読みいただければ幸いです!

ブラウザ

Chromeでは標準でクッキーを情報を見ることができます。
Chromeで検証モードに切り替え、Applicationタブを選び、その中のクッキーのアイコンの場所に、今見ているサイトのurlが表示されています。
こちらをクリックすると、そのサイト持たせているクッキー情報が、キーとバリューで表示されています。
サイトにより持たせている情報も異なりますので、いろんなサイトを見てみると面白いかも。
Twitterの場合
スクリーンショット_2021-03-27_21_16_46.png

jsで設定する

jsではクッキー情報は複数繋がっており、sliceとか出力するのがなかなか大変なので、
jquaryのプラグイン「jquery-cookie」でコントロールしてみます。

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <!--jqueryとjquery-cookieを読み込み-->
    <script src="https://code.jquery.com/jquery-3.6.0.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script>

    <title>クッキーテスト</title>
</head>
<body>
    <div class="yourname">
        あなたの名前は
        <div class="js-cookie-yourname"></div>
        です
    </div>

    <script>
        //cookieのyournameに「太郎くん」を設定
        $.cookie('yourname','太郎くん',{ secure: "None"});
        //html内にクッキーの情報を挿入
        $('.js-cookie-yourname').html($.cookie('yourname'));
    </script>

</body>
</html>


この方法で、firefoxだとクッキーを値を出力できました。
[サイト表示]
スクリーンショット 2021-03-27 23.07.03.png
(背景白サイトだからわかりづらい)

Chromeではうまくいかない

ただ、上記の処理を単純にローカルのURLでやった場合、Frefoxだとうまく行きますが、Chromeだと出力されません。
最近のChromeは、セキュリティ上基本的にhttpsのurlじゃないとクッキーの送信が行えなくなったようです。

https://developer.mozilla.org/ja/docs/Web/API/Document/cookie
;secure https の通信を使用しているときだけ、クッキーが送信されます。 Chrome 52 以前では、このフラグは http ドメインからのクッキーに設定することができました。

とのこと。
サードパーティクッキー(別ドメインから発行されてるクッキー)も厳しくなったので、それと同じような感じなのだろうか。。
https://news.yahoo.co.jp/articles/2d58d3425a3a6f8b045350c88ae14162b2b5839b
(いつか調べるかも)

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