CGI-BBS > SO−HO > ショッピングバスケット > ショッピングバスケットv6.06について


カレッヂ
カレッヂ


質問者 mi  投稿日 1/6(日) 17:37:05
ショッピングバスケットプロv6.06をダウンロードして試用させていただいてる
モノです。サーバーに設置して色々試していると、ある現象がおきます。
一つはカートに数種類の商品を入れてそれをいくつか削除していると、
まだ商品が残っているにもかかわらず、現在保留中の商品はありませんという
メッセージがでます。
二つ目はカートに商品を入れ、発送地域を選択〜住所・Eメールを入力後、
最終確認の画面が出て、それから一つ商品を減らそうとして、最初のカートの画面に
戻ろうとすると、現在保留中の商品はありませんと出ます。

これらはクッキーの問題なんでしょうか?
初心者なもので、特別なカスタマイズはしておりません。

過去の投稿も見てみました。
商品がカートから消えるという投稿が過去にあったのですが、
私もssl設定をしていません

setup.cgi の
$domain = "";
$path = "/";
にするように指示がありますが、デフォルトでは
$domain = "";
$path = "";
なので、ここの部分を上記のように書き換えたらよいと言うことでしょうか?
一度試してみたのですが、症状は変わりませんでした。

ちなみにブラウザ・OS共に様々なモノで試し、必ず決まったブラウザなどで
この現象が起きるわけではなく、時と場合により様々です。
もし解決方法があるようでしたら、是非教えていただきたいです。
宜しくおねがいします。
回答者 呑兵衛@大阪  [削除]  投稿日 1/6(日) 21:58:44
商品を選択しかごに入れると、cart.cgi は
   → cart.cgi のデコード部分で cookie 情報をデコード(初めての場合情報はない)
   → sub input_to_cart に移動し、cookie name=cart.cgiまでのパス:0 データ $date_num を発行し
    $date_num\t$in{'_gname'}\t$SHOKEI を tmp ディレクトリに $date_num.bk6 のファイル名で記録し
    cookie name=cart.cgiまでのパス:0 データ $date_num を発行し、 $nossl のURI に移動
   → cart.cgi のデコード部分で cookie 情報を再びデコード
    sub mado に移動し、cookie 値 CART:$date_num と tmp ディレクトリ $date_num.bk6 が一致して初めて購入情報が表示される
    削除も必ずこの sub mado が表示された状態で行われ、削除を実行すると $date_num.bk6 の該当購入商品情報行に
    * が付けられる
という動きをします。その後は購入者情報の記述を確認するまで購入商品情報は現れません。

鍵を握るのは、 cookie にかかる設定です。
setup.cgi の $domain と $pass は必要でない限り変更しません。
$ssl と $nossl も同じにします。
購入情報が最初には示されるのに、購入者情報を記述した後「現在保留中の商品はありません。」と出るのは
購入者情報を記述した後移動するのが、$ssl で指示された URI だからです。つまり $ssl と $nossl が違うということ。

後は各ブラウザの設定の確認をしてみましょう。
ショッピングバスケットで使用する cookie はセッションクッキーで、
ブラウザを閉じれば発行した cookie は消えてしまいます。
coookie の設定を 「受け入れる」にしておかないと、ショッピングバスケットは有効に機能しません。

もう一つ、cookie 機能を off にしていても、なぜ最初の画面だけ購入商品情報が示されるかですが、
これは既に $date_num.bk6 ができていて、 cookie も「発行された」状態だからです。
この時ブラウザは、「 cookie を受け入れない 」設定であっても、 cookie が発行されたことは認識しています。
認識=照合はこの時に完成しており、商品情報は画面表示されるが、cookie値は記憶されない、
というルーチンになっているのがブラウザの仕組みです。
余計ですが、実はこれ、セキュリティホールです。
質問者 mi  [削除]  投稿日 1/7(月) 13:28:53
呑兵衛@大阪様 詳しいご説明ありがとうございます。
昨日何度か読み返してるうちにある事実に気づきました。
うちのサイトのURLはhttp://www.○○○○.comとhttp://○○○○.comのどちらでも
閲覧できます。しかし、検索エンジンに登録してるURLはwwwありなのに、
私が$ssl と $nossl に設定したURLはwwwなしでした。
このwwwあり・なしがどのように違うのか詳しいことはサーバー会社に問い合わせてますが、
これをwwwありに統一し直してみると、不具合のおこる確率が激減しました。
初歩的なミスで、大変失礼いたしました。

全く違うところに原因があると思いこみ、何日考えてもわからなかったんですが、
いただいた回答を読み直してるうちに謎がとけました。
私自身 根本的なことがわかっていなかったことが原因でした。

迅速な回答をいただき、心から感謝しております。
今後とも頑張って勉強して行きたいと思っておりますので、宜しくおねがいします。

このページは終了したので返信(回答)は書きこめません

Web裏技