SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 社員募集 ...

【WordPress】WordPressにログインしているかどうかは document.cookieで取得できない

問題

WordPressの管理画面にログインしているかどうかをJavascript側で判定したいと思ったのですが、document.cookieにはセッションIDらしいデータが見当たりません。

セッションはクッキーを使っているはずでは?

document.cookieで取得できないのはなぜ?

答え

WordPressでは、セッション用クッキー発行時に、以下のような書き方をしていた。

setcookie(LOGGED_IN_COOKIE, $logged_in_cookie, $expire, COOKIEPATH, COOKIE_DOMAIN, $secure_logged_in_cookie, true);

PHP5.2.0で追加された第7引数で、httponlyなクッキーにしている。

HTTPヘッダではやり取りされるが、document.cookieでは参照できない。

参考

Cookieを盗む例とhttponly属性

関連するメモ

コメント