[18] [[Cookie]] の [DFN[[CODE(HTTP)@en[[[HttpOnly]]]] [[属性]]]]は、当該[[クッキー]]が [[JavaScript]] から取得できず、 [[HTTP]] でのみ送信されるべきであることを表します。 * 仕様書 [REFS[ - [13] [CITE@en[RFC 6265 - HTTP State Management Mechanism]] ([TIME[2012-03-01 09:57:02 +09:00]] 版) - [15] '''[CITE@en[RFC 6265 - HTTP State Management Mechanism]] ([TIME[2012-03-01 09:57:02 +09:00]] 版) ''' ]REFS] * 意味 [16] [CODE(HTTP)@en[[[HttpOnly]]]] [[属性]]は[[クッキー]]の適用範囲を [[HTTP]] [[要求]]だけに限定します。 [SRC[>>15]] [17] [CODE(HTTP)@en[[[HttpOnly]]]] [[属性]]のついた[[クッキー]]は「[RUBYB[非]@en[non-]] HTTP」 API からはアクセスできません [SRC[>>15]]。 具体的には [CODE(JS)@en[[[document.cookie]]]] [[属性]]からこれを取得することはできません。 * 構文 [FIG[ [FIGCAPTION[ [14] [[RFC 6265]] における [CODE(HTTP)@en[[[HttpOnly]]]] [[属性]]の構文 ]FIGCAPTION] [PRE(ABNF code)[ httponly-av = "HttpOnly" ]PRE] ]FIG] * 歴史 [9] [CITE@en-us[Mitigating Cross-site Scripting With HTTP-only Cookies]] ([CODE[2007-01-18 14:03:44 +09:00]] 版) [8] [CITE[httpOnly cookie flag support in PHP 5.2 - iBlog - Ilia Alshanetsky]] ([CODE[2007-01-18 14:04:40 +09:00]] 版) [7] [CITE[Bug 178993 – MSIE-extension: HttpOnly cookie attribute for cross-site scripting vulnerability prevention]] ([CODE[2007-01-18 14:05:01 +09:00]] 版) [6] [CITE[robubu » Blog Archive » HttpOnly please]] ([TIME[2007-01-18 14:02:56 +09:00]] 版) [2] [CITE[HTTPOnly Fix In MSXML ha.ckers.org web application security lab]] ([TIME[2008-11-21 17:47:39 +09:00]] 版) [3] [CITE[Bug 380418 – XMLHttpRequest allows reading HTTPOnly cookies]] ([TIME[2008-11-21 17:49:08 +09:00]] 版) [4] [CITE@en[(X)HTML5 Tracking]] ([TIME[2008-12-02 19:46:38 +09:00]] 版) [5] [CITE[Scope of HTTPOnly Cookies]] ([TIME[2008-12-15 19:00:11 +09:00]] 版) ** ietf-httponly [12] [CODE(HTTP)@en[[[HTTPOnly]]]] [[属性]]の標準化のために [DFN[[[ietf-httponly-wg]]]] [[メイリング・リスト]]が2008年秋に作られました。名前に「[[IETF]]」 と入っていますが、正式な [[IETF]] の [[WG]] ではありませんでした。 その後すぐに [[Cookie]] 全体の標準化の機運が高まり、 [[http-state]] [[IETF]] [[WG]] に合流しました。 [1] [CITE[ietf-httponly-wg | Google グループ]] ([TIME[2008-11-21 17:43:26 +09:00]] 版) [CITE[This list has moved to IETF - ietf-httponly-wg | Google グループ]] ([TIME[2010-08-01 13:59:31 +09:00]] 版) ** HTML5 の旧規定 [10] [[HTML5]] は [CODE(JS)@en[[[document.cookie]]]] [[属性]]の規定のなかで、 「[[HTTPのみのクッキー]]」は返す値に含まないし、上書きすることもできないとしています。 ただし、注記 ([[参考]]) の中で、 [[HTML5]] 仕様書執筆時点で「[[HTTPのみのクッキー]]」 に関する仕様書は存在しておらず、何が「[[HTTPのみのクッキー]]」であるかは定義しない、 としています。その注記の中では一部 [[Webブラウザー]]で [CODE(HTTP)@en[[[httponly]]]] [[引数]]による 「[[HTTPのみのクッキー]]」の機能が実装されていることにも触れられています。 * メモ [11] [CITE@en[mod_rewrite - Apache HTTP Server]] ([TIME[2009-10-04 03:10:27 +09:00]] 版)