HttpOnly属性 【HttpOnly Cookie】
概要
HttpOnly属性(HttpOnly Cookie)とは、WebサーバとWebブラウザの間でやり取りされるCookie(クッキー)に指定できる属性の一つで、クライアント側でJavaScriptなどからアクセスできないようにするもの。クロスサイトスクリプティング(XSS)攻撃を受けた際にCookieの内容を読み取られるのを阻止することができる。CookieはWebコンテンツの伝送に用いられるHTTP(Hypertext Transfer Protocol)に用意された仕組みの一つで、サーバからの応答時に任意の文字列データを付与し、クライアントがこれを永続的に保存してサーバへのリクエスト時に毎回送信する。サーバがクライアントを識別したり、クライアント側で必要な情報を保管することができる。
Webブラウザの標準的なJavaScript実装ではdocumentオブジェクトにcookieプロパティ(document.cookie)が用意されており、そのスクリプトが実行されているWebページに付与されたCookieの内容を読み取ったり、新しい内容を書き込んで更新できるようになっている。
HttpOnly属性をこれを拒否するようサーバからクライアントに要請する属性である。サーバから送信するHTTPレスポンスの「Set-Cookie:」ヘッダで指定することができ、Cookie文字列本体や他の属性と「;」(セミコロン)で区切って「HttpOnly」(小文字の httponly でも良い)と指定する。スクリプトによる操作を許可したい場合は「HttpOnly属性」自体を記述しなければよい。
(2022.11.17更新)