Zencat のセッション管理については、「Zencart : セッションについて」で触れていますので、基本的な説明はそちらでご確認ください。 共用SSLを利用する場合のセッション管理についてですが、共用SSLを利用する場合は、基本的に自分の運用するドメインとSSLページは違うドメイン(サーバ会社のドメインなど)になることが多いと思います。 その場合は、ブラウザのクッキーに保存されているSSLページと非SSLページでのドメインが違うことになるので、セッションが正常に引き継げなくなり、カートが空になるなどの現象が起こります。
Zencartのインストール直後の設定は、管理画面内の「セッション管理の設定」>「クッキーの使用の設定」がTrueになっていたと思います。 この環境では、ブラウザのクッキーの使用が必須となってしまうので、共用SSLでクッキーに保存されたドメインが異なる場合は、当然、セッションが引き継げなくなりますし、もちろんブラウザがクッキーの使用を許可していない場合もセッションは引き継げません。 共用SSLでクッキー内のドメインが違う場合でもセッションを引き継ぐ方法として、管理画面内の「クッキーの使用」をFalseにすることでZencartが共用SSLの環境で使えるようになります。また、これは、クッキーを一切使用しないというのではなく、クッキーが使用できる場合は利用し、そうでない場合はURLにzenidとしてセッション情報を付与し、セッションを引き継がせることが出来るようになります。 管理画面の説明を見るだけでは、少し勘違いしやすい点ですが、
  • 「クッキーの使用」=True > ブラウザのクッキーの使用が必須。
  • 「クッキーの使用」=False > ブラウザのクッキーは必須ではなく、利用できるときは使い、そうでない場合はURLにzenidを付与しセッション管理を継続する。
といった感じだと思います。 その際の問題点として、クッキーが正常に利用できない場合はzenidが正常に付与される必要があるので、独自のカスタマイズでリンクURLを貼りつけた箇所などは、zenidが引き継げるようにZencartの仕様にそったリンクの貼り方をする必要があります。Zencartに内でのリンクの貼り方については、「zencart:カスタマイズ リンクの貼り方」の記事を参考にしてください。 また、インストール時に「サイト、管理画面共にSSLを使用する設定」でインストールしてしまい、管理画面が共用SSLで動作しない場合は、admin/includes内のconfig.phpファイルの設定を手動でSSLを使用しない設定にし、非SSLで管理画面にログイン後、「セッション管理の設定」>「クッキーの使用」をFalseにする必要があります。

この投稿へのコメント

コメントを残す

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます。
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

CAPTCHA


ピックアップ記事

SQLite について

2010年12月07日 過去Blog
iPhoneアプリ開発でSQLiteを使う必要があるので、概要を簡単にまとめてみます。 もっと詳しく知りたい方は、SQLite などを参考にしてください。 SQLデータベースの主な役割は、SQLステートメントに従って、データを扱うことです。この目的を達成するために、開発者は2つのことを知っておく必要があります。 …
「SQLite について」をはてなブックマークに追加

UITextField と UITextView のキーボード関連

2011年04月28日 過去Blog
http://www.toyship.org/2011/03/uitextfielduitextview%E3%81%AE%E6%96%87%E5%AD%97%E5%85%A5%E5%8A%9B%E3%81%A7%E8%A6%9A%E3%81%88%E3%81%A6%E3%81%8A%E3%81%8F%E3%81%A8%E4%BE%BF%E5%88%A9%E3%81%AA%E3%81%93%E3%…
「UITextField と UITextView のキーボード関連」をはてなブックマークに追加

iphoneアプリ開発の備忘録

2010年11月19日 過去Blog
iphoneアプリの開発に着手したので備忘録設置しました。 私自身、分からないことだらけのiphone開発ですが、同じような境遇の方にとって少しでも参考になれば、うれしいですが、現時点では、参考になれそうな記事を書ける自信なし。。。(汗 iphoneアプリ開発が脚光を浴びて、それなりに時間が経っていますが、未だに日本語での情報は少ないので、自分が勉強していく上で役に立った情報や、海外のチュート…
「iphoneアプリ開発の備忘録」をはてなブックマークに追加

phpで処理を遅延させてから実行する。

2009年12月26日 過去Blog
phpで少し時間をおいてから処理を実行したい場合は、sleepを使います。 例) [php]<?php echo "最初の処理"; //3秒後に実行 sleep(3); //処理再開 echo "遅延後の処理"; ?>[/php]
「phpで処理を遅延させてから実行する。」をはてなブックマークに追加

tableViewに関する覚え書き

2011年01月03日 過去Blog
tableView に関する設定の説明です。 テーブル内のセクション数を設定する 以下の例では、2つのセクションをもつテーブルになります。 - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { return 2; } セクション内の行数を指定する 以下の例では、最初のセクションは、2行のデータを表示し、次のセクションでも2行のデータを表示します。…
「tableViewに関する覚え書き」をはてなブックマークに追加
© graffiti on the web . All rights reserved. WordPress Theme by comfy