CGI-BBS > SO−HO > ショッピングバスケット > 簡易ショッピングバスケットでSSLを使いたい


カレッヂ
カレッヂ


質問者 ぽす  投稿日 7/23(火) 23:38:51
簡易ショッピングバスケットを使っております。
買い物カゴの中身(cargo.cgi)をSSLに対応したいのです。

<a href="https://securehost.xxx.net/~pos/test.html">SSLのページへ</a>
このリンクからだとちゃんと次のtest.htmlでは画面右下に鍵のマークがついています。

そして、
<a href="https://securehost.xxx.net/~pos/cargo/cargo.cgi">SSLのページへ</a>
このリンクからでもちゃんと次のcargo.cgiでは画面右下に鍵のマークがついています。

でも、次のような商品選択からオーダーするようなリンクからだと
<form method=post action="https://securehost.xxx.net/~pos/cargo/cargo.cgi">
<input type=hidden name="action" value="regist">
        <!-- 商品名入力 name=goods value=商品名 -->
        <input type=hidden name="goods" value="りんご">
        <!--←半角数字で-->
        <!--注文個数CGI-->
        <!-- 単価指定 name=unit value=単価 -->
        <input type=hidden name="unit" value="600">
        <input type=hidden name="rem" value="Small">
        <table width="100%" border="0" cellpadding="0" cellspacing="0">
          <tr> 
            <td width="42%"><font size="1">S : 600円</font></td>
            <td width="16%"> 
              <div align="center"><font size="1">個数</font></div>
            </td>
            <td width="20%"> 
              <select name="amount">
                <option value="1">1</option>
                <option value="2">2</option>
              </select>
            </td>
            <td width="23%"> 
              <input type=image src="../image/order.gif">
            </td>
          </tr>
        </table>
      </form>
次のページのcargo.cgiでは画面右下に鍵のマークではなく、ストップマークみたいなアイコンになり、
その上、オーダーしたはずの商品がカゴの中に入っていない状況です。

過去ログの
http://www.rescue.ne.jp/CGI-BBS/soho/cargo/20020109175225.shtml
http://www.rescue.ne.jp/CGI-BBS/soho/cargo/20010906113658.shtml
http://www.rescue.ne.jp/CGI-BBS/soho/cargo/20010924043202.shtml
http://www.rescue.ne.jp/CGI-BBS/soho/cargo/20011026202525.shtml
http://www.rescue.ne.jp/CGI-BBS/soho/cargo/20020106173705.shtml
も読んだつもりなんですが…

何か設定などが必要なんでしょうか。
どなたかアドバイスお願いします。

プロバイダ参照:http://faq.hostrocket.com/
サーバのOS:WINサーバ
パソコンのOS:WinNT系
エディタ:Dreamweaver
FTPソフト:RootFTP
サーバ移転:していない
改造:している 改造前正常動作
CGI習熟度:middle

回答者 呑兵衛@大阪  [削除]  投稿日 7/28(日) 10:03:16
商品ファイルHTMLにより
<!-- 購入命令 name=action value=regist -->
<input type=hidden name="action" value="regist">
で
cargo.cgiは
if ($FORM{'action'} eq 'regist') { &regist; }

sub regist {
print "Location: $reload" . '?' . "\n\n";
}
だから、
cargo.cgiの
#このスクリプトのURL(httpからフルパスで設定)
$reload = 'http://設置した場所/cargo.cgi';
が正しく設定されていないのでは
質問者 ぽす  [削除]  投稿日 7/28(日) 21:59:03
呑兵衛@大阪さん、どうもありがとうございます。
おっしゃる通り、
#このスクリプトのURL(httpからフルパスで設定)
$reload = 'http://設置した場所/cargo.cgi';
が正しく設定されいませんでした。
そこで
$reload = 'https://設置した場所/cargo.cgi';
$webform = 'https://設置した場所/webform.cgi';
に変更して確認したところ、おかげさまで、
ちゃんと鍵マークが付き、メールも手元に届くようになりました。

ところが、フレームを使った構成の中でcgiを利用するとなぜか前と同じ症状になってしまいます。
画面右下に鍵のマークではなく、ストップマークみたいなアイコンになり、
その上、オーダーしたはずの商品がカゴの中に入っていない状況です。

このcgiがフレームを使えないということはありえるのでしょうか。
それともフレームを使う場合と使わない場合で、何か設定する必要があるのでしょうか?
重ね重ねの質問になってしまいました…
回答者 呑兵衛@大阪  [削除]  投稿日 7/30(火) 18:10:03
> このcgiがフレームを使えないということはありえるのでしょうか。
一般的にCGIスクリプトをフレームでも使えますが、設定が揃っていないのではないですか?
https と http の 二つのプロトコルを同一画面上で使うことはできなかったように思います。
https にデータが渡ればフレームをやめてみましょう。
質問者 ぽす  [削除]  投稿日 7/30(火) 22:12:16
呑兵衛@大阪さん、度々どうもありがとう。
> https と http の 二つのプロトコルを同一画面上で使えない
とおっしゃるように、混同させていました。
そこで、フレーム全体でSSL対応になるようにしたのですが、
> https にデータが渡ればフレームをやめてみましょう。
とあったのが気になりまして…
よく考えると、SSL対応のページって個人情報を記入するようなページだけですよね。
サイトに入ってすぐにSSL対応のページっておかしいでしょうか?
無意味なページにまでSSL対応にすると問題があったりするのでしょうか?
後学の為にお願いします。
回答者 呑兵衛@大阪  [削除]  投稿日 8/2(金) 20:13:11
簡易ショッピングバスケットの場合、商品選択後現れるのが個人情報を記入するページですので、
そこからSSLをかけないと意味ないのでは?
質問者 ぽす  [削除]  投稿日 8/2(金) 23:41:43
呑兵衛@大阪さん、本当にどうもありがとう。
私としてはどうしてもフレームの中で全てのプロセスを行いたく、
>https と http の 二つのプロトコルを同一画面上で使うことはできなかったように思います。
をまさにやりたかったのです。
そこでフレーム全体をhttpsにしてみたら、カートの中に商品がちゃんと入るようになったので
これでいいのかなと思いつつ、呑兵衛@大阪さんに度々の質問をしてしまいました。
ところがフレーム全体をhttpsにすると、
「このページにはセキュリティで保護されている項目と保護されていない項目が含まれます。
 保護されていない項目を表示しますか?」
というダイアログが時々出るようになってしまいまして…
フレーム内では全て相対パスを使っているので、非SSLからデータを引っ張っているとは思えないのですが…
http://support.microsoft.com/default.aspx?scid=http://www.asia.microsoft.com/japan/support/kb/articles/JP419/3/20.asp
これと似たような症状だったのですが、私のIEは6.0ですし。
という訳で、また躓いていますが、あとはじっくり考えてみます。
呑兵衛@大阪さんには色々アドバイス頂いて助かりました。
どうもありがとう。

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

Web裏技