ようこそ!逆襲のニートブログへ

ブログ内検索

最近の記事

はてなブックマーク数

この日記のはてなブックマーク数

カテゴリー

月別アーカイブ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

サブドメインでセッションを共有する方法

PHPのフレームワーク「CodeIgniter」や「FuelPHP」を使って、Webサイトを作る。
そのとき、サブドメイン間で、セッション情報を共有したい。
あと、HTTPとHTTPS(SSLのページ)でも、セッションを共有したい。
=ログイン認証とか。

どうやれば良いか、検索してみたら、いろいろ参考情報があったので、メモ。

→「http https php サブドメイン セッション 共有」とかのキーワードで検索。

クッキーをサブドメイン間で共有する « kawama.jp

setcookie("TestCookie", "Test", time() + 3600, "/", ".example.com");

なお、クッキーの動きを見るにはFireFoxが便利。ツール→オプション→プライバシー→Cookieでクッキーの状態を確認できます。



なるほど、PHPの関数「setcookie()」を使うと。
PHP: setcookie - Manual

サブドメイン間でのセッション共有 弥門の備忘録

<前提条件>
・サブドメイン間である
・同サーバ内である
・別サーバである場合は、セッションファイルを共有できる場所を用意してある
 (ファイル共有専用サーバとか)

<方法>
・双方のセッションのホストを、同じにしてあげればいい。
・aaa.domain.comとbbb.domain.comだったら、両方「.domain.com」にする。
・最初のドット以下は共有できるんだって。素敵!
「session.cookie_domain」に指定してあげましょう。
・php.iniの書き換え方は、他を参照願います。
・php.iniを直接変更、phpのini_set関数を使用、.htaccessを使用の3パターンが主流らしい。



うずら技術メモ

PHP の Session を複数ドメインで共有する

◆同一サーバ内の異なるドメインでセッションを共有する場合

1)サブドメインの場合
例えば sns.sample.jp(マスターであるOpenPNE)と blog.sample.jp(連携するサイト)で
セッションを共有したい場合は連携するサイトのphpのコード内の session_start()の前に
session_set_cookie_params()で以下のように指定すれば共有できます。
(php.iniの"session.cookie_domain"でも指定可能です)

session_set_cookie_params (0 , '/', 'enjoitech.jp');
もしくは php.ini で
session.cookie_domain "enjoitech.jp"



PHP の Session を複数ドメインで共有する - Enjoi Blog

例えば www.enjoitech.jp と blog.enjoitech.jp でセッションを共有したい場合は、 php のコードの session_start () 関数の前に、 session_set_cookie_params() でクッキーの影響範囲を enjoitech.jp にしてやることができる。

session_set_cookie_params (0 , '/', 'enjoitech.jp');
もしくは php.ini で
session.cookie_domain "enjoitech.jp"
でも可能。



クッキーの守備範囲を広げて、
特定のサブドメインだけではなく、その親のドメイン名をクッキーの守備範囲として指定してあげれば、ドメイン名にぶら下がっている他のサブドメインでもセッション情報を共有できると。

なるほどねー。
後で実験してみるべし!

基礎からのPHP (基礎からシリーズ)
西沢 夢路
ソフトバンククリエイティブ
2013-03-28
2940円
関連記事

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバックURL:
http://gooddays1.blog37.fc2.com/tb.php/984-2f922a6a

FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。