php5.2未満における httpOnly属性設定
Adobe Developer Connection
Securing your applications using HttpOnly cookies with ColdFusion
javascriptによるsession idの盗聴を防ぐために、HttpOnly属性を設定すべきだということです。
PHP5.2以降であれば以下の設定のいずれかにて実現できます。
コード内の場合
ini_set('session.cookie_httponly', 1);
php.iniで設定
session.cookie_httponly
cookie発行時に設定(第7引数)
setcookie( string $name [, string $value [, int $expire = 0 [, string $path [, string $domain [, bool $secure = false [, bool $httponly = false ]]]]]] )
PHP 5.1.x 以前の PHPの場合、上記の方法は使用できませんが、
header() 関数を使用すれば Cookie に HttpOnly 属性を付加することが可能です。
header("Set-Cookie: PHPSESSID=".session_id()."; httpOnly; path=/");
以前はFireFoxで対応していない等があったが、
RFC6265 で定義されたため、現在は
Internet Explorer 6 SP1以降
Firefox 2.0.0.5以降
Google Chrome 1.0以降
Safari 4.0以降
では対応済みだそうです。
参考サイト
http://www.studyinghttp.net/cookies#Set-Cookie
http://d.hatena.ne.jp/t_komura/20060812/1155349717
http://d.hatena.ne.jp/ryster/20080229/1204304780