Javascriptを介してCookieをHttpOnlyに設定します


90

JavaScript経由でHttpOnlyこのCookieを設定できませんHttpOnlyか?


1
JavaScript自体が操作できないはずのJavaScriptでCookieを設定するにはどうすればよいでしょうか。サーバー側に設定するだけです。
BalusC 2013

1
CookieはHttpOnlyではなく、Javascriptを介してHttpOnlyに設定したいと思います。

6
HttpOnlyのポイントを見逃していると思います。
BalusC 2013

素晴らしい質問です。セキュリティに関する限り、クライアントからHttpOnlyCookieを設定することにマイナス面はありません。だからあなたはそれが許されると思うでしょう。しかしもちろんそうではありません。
PHPの達人

回答:


178

HttpOnlyそれはだクッキーの手段ではないJavaScriptのようなスクリプト言語を利用できます。そのため、JavaScriptではHttpOnly、Cookieの属性を取得/設定するために使用できるAPIはまったくありませんHttpOnly。そうしないと、の意味が失われてしまいます。

サーバー側が使用しているサーバー側の言語を使用して、サーバー側でそのように設定するだけです。これにJavaScriptが絶対に必要な場合は、サーバー側の言語をトリガーしてHttpOnly Cookieを作成する特定のリクエストパラメーターなどを使用して、(ajax)リクエストを送信することを検討できます。ただし、それでもハッカーがHttpOnlyXSSだけで簡単に変更でき、JS経由でCookieにアクセスできるため、HttpOnlyCookieが完全に役に立たなくなります。


4
「EditThisCookie」ブラウザ拡張機能のようなクライアント側のアプリがHttpOnlyフラグをfalseに変更するにはどうすればよいのでしょうか。
pavanw3b 2015年

1
@ PavanW3b:JavaScriptのようなクライアント側のスクリプト言語は使用していません。これは単なるブラウザ拡張機能です。
BalusC 2015年

10
@BalusCブラウザ拡張機能はJSで記述されており、しばらくの間developer.chrome.com/extensions「HTML、JavaScript、CSSなどのWebテクノロジを使用して記述しています。」 developer.mozilla.org/en-US/Add-ons/WebExtensions/… "これらは、標準のWebテクノロジー(JavaScript、HTML、CSS)といくつかの専用JavaScriptAPIを使用して記述されています。"そして2013年に記述されたオープンソースの例github.com/Asana/Chrome-Extension-Example
Justin

56
JSからHttpOnlyを設定できるとHttpOnly、スクリプトからCookieを読み取れない限り、「の意味が失われる」かどうかはわかりません...
hallo 2017

4
MDNはそれが禁止されていると言います。developer.mozilla.org/en-US/docs/Web/HTTP/...
mpoisot
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.