2017-11-15 13 views
0

私の問題はJSを使用してクッキーを1年間有効期限に設定していて、その特定のクッキーにセキュアフラグが設定されていないことです。安全なフラグが設定されるようにCookieを更新する必要があります。クッキーを作成するコードには「安全」属性があり、新しいクッキーにはすべて「安全」フラグが設定されています。問題は、既存のCookieを更新する方法です。私は、クッキーを破棄し、安全なフラグを設定して再作成する必要があると仮定していますか?これを行う方法が他にあるかどうかわかりません。また、JavaScriptを使用してクッキーにフラグを設定していないかどうかを検出してから削除する方法もあります。クッキーにセキュアフラグが設定されているかどうかをチェックし、JavaScriptを使用して更新する

ありがとうございます!

+1

標準のJavascriptでCookieの属性を読み取る方法はありません(拡張機能は可能ですが、ブラウザ固有のAPIを使用しています)。 – Barmar

答えて

1

クッキーのフラグを純粋なJavaScriptでチェックすることはできません。フラグを追加する場合は、新しいCookieを作成するだけで、ブラウザは古いものを上書きします。

例:コンソールで

タイプ:

const year = 60*60*24*365; 
document.cookie = 'mytestcookie=1;max-age='+year; 

そして、あなたのブラウザの開発ツールでCookie]タブに見えます。あなたはそれが不安であることがわかります。 今すぐ入力してください:

document.cookie = 'mytestcookie=2;max-age='+year+';secure'; 

もう一度見てください。

+0

私は、それが既に存在し、それに書き込もうとしていない場合にのみ、現在のコードを読み取りますので、それが期限切れでない場合は、最初にクッキーを削除し、再作成する必要があります。 –

+0

@reskiが言っていることは、クッキーを削除する必要はないということです。新しい値で同じクッキーを設定すると、ブラウザは古いものを上書きします。 –

+0

正確には、Soumen。 – reski

関連する問題