SSL対応ショッピングカート
SSL対応ショッピングカートCGIとSSLの必要性
SSL対応ショッピングカートCGIの比較検討
ショッピングカートCGI
ダウンロードの申込み
アフィリエイト参加
SSL対応ショッピングカートCGIとSSLの必要性 SSL対応ショッピングカートCGIとSSLの必要性

SSL対応ショッピングカートCGIとSSLの必要性

ショッピングカートとSSLの必要性について考えてみましょう。

SSLとは?SSLとは?
SSLとは、Secure Socket Layerの略で、データを暗号化して通信する仕組みを指します。 通常のサイトには必要ありませんが、サイト中にフォームで重要な個人情報やクレジットカードの番号などを送信するページが存在する場合に必要となります。

SSLは日本ベリサイン、ジオトラストなどの業者と契約して実現するものですが、レンタルサーバーによって、
  1. 一切使用できないもの、
  2. 別途ベリサインなどと契約して実現できるもの(独自SSL
  3. レンタルサーバ会社が持っているSSLを無料又は格安料金で使えるもの(共有SSL
の3種類が存在します。共有SSLは安くてよいのですが、携帯でSSLを使いたいときにはベリサインなど独自SSLが必要になるでしょう。

また、以下の2つのタイプがあります。
  1. 単にhttps://〜で呼び出せばよいもの
  2. サーバ内に特別にSSL領域があるタイプのもの
プログラム上2番目のタイプのものはお勧めできません。事実上、ショッピングカートを動かすことは難しいでしょう。(ショッピングカートを丸ごとSSL領域にUPするならOKですが)

また、cgi-bin下でのみCGIが動くサーバでSSLを使用すると、画像が表示されないなどの避けられないトラブルが発生することがあります。

ショッピングカートとSSLの必要性ショッピングカートとSSLの必要性
現在、SSLの必要性が強調されています。しかし、本当に必要なのかどうかを十分に検討するのは賢明です。その経費は馬鹿にならないので特にそういえます。というのも、SSLの使用料がサーバのレンタル料を上回るとすれば確かに問題となるからです。

まず、どうしても必要な場合はクレジット決済の場合でしょう。そうでなければクレジット番号を入力する気になる人はまずいないでしょう。
一方、氏名や住所などのデータならSSLを使わなくても入力する必要のある場合がかなりあります。SSLを使うかどうかはいろいろな要素により判断しなければなりません。

SSLを使わないことによりデータが盗まれる可能性がどれほどかを考えるのは有益です。例えば、コードレス電話(子機)で盗聴される確率はそれ以上に大きいでしょう。しかし、その危険性を意識して話している人はまずいません。無線LANの使用に関しても同様のことが言えます。
また、個人情報は電話帳(ハローページ)や住民基本台帳などで容易に入手できるのが現状ですから、インターネットのときだけSSLにしても意味がないように思えます。

さらに、通信時の安全性以上に重要なのはサーバ内の安全性でしょう。サーバ内のファイルを外部から読めないようにしておくことは重要です。これがずさんならSSLを使用してもまったく意味がないのですから。加えて、会員パスワードの暗号化はSSLよりも重要でしょう。データの流出事故の際の被害の大きさから考えて、通信時の暗号化よりもファイル内のパスワードの暗号化の方が大切なのです。

  ここが重要1回の通信時の安全性 と サーバ内のファイルの安全性 の違いを理解する

また、クッキーの使用にも注意しなければなりません。入力を便利にするためにとても有効ですが、同じPCを他の人が自由に使用できる環境ではきわめて危険です。クッキーの有効期限をブラウザーを閉じるまでにするなどの対策が必要です。又これはPCを使う側の要注意事項でもあります。

【まとめ】
  1. クレジット番号を入力する際に、SSLは必須
  2. 氏名、住所、電話番号など・・・必須というわけではないが、あれば安全性をアピールすることができる
  3. サーバ内のファイルの管理は絶対必要(⇒設置のアドバイス参照)
  4. 会員パスワードの暗号化はSSLよりもはるかに重要。
  5. クッキーの使用にも注意が必要
なお、クレジット決済代行会社(例えば、イプシロン決済代行、クロネコ@ペイメント)を利用する場合は、自社でSSLを使うかどうかにかかわらず、代行会社でSSLを使用していますので、クレジット番号は安全に送信されます。リスクを考えるなら、クレジットカードの管理は代行会社に任せるのが賢明でしょう。

※プログラムの安全に関しましてはこちらをご覧ください。⇒カートのセキュリティー対策

SSL業者&対応サーバショッピングカートのSSL設定手順
※現在は、常時SSLが主流になっており、下記ような面倒な設定は不要となっています。つまり、初期設定(相対パス)のままで問題なく常時SSLが実現できます。

当社のカートはSSLに対応しています。SSLを使用する時はスクリプトのパスをフルパスで設定し、SSLと非SSLが自動的に切り替わるように設定します。設定手順は下記の通りです。

非SSLのフルパス・・・・http://〜
SSLのフルパス・・・・・https://〜

SSL設定のサンプルを参考にしながら下記の手順をご覧ください。サンプルは、X-serverの独自SSL(ラピッドSSL、年10,500円)を用いています。

【SSLの設定サンプル】

       PC用: PCtoMobile2   携帯用: PCtoMobile2   管理: 管理メニュー

【1】PC用スクリプトのパスの設定
システム設定【2】で下記のスクリプトをSSLと非SSLのフルパスで設定します。
http://〜/shop.cgi
https://〜/shopssl.cgi
http://〜/entry.cgi
https://〜/entry.cgi
https://〜/histry.cgi
https://〜/address.cgi  (PCtoMobile2)

システム設定【3】のTOP1〜TOP10のautoのところを非SSLのフルパスで設定します(最新版ではautoのままで良い)。
http://〜/index.cgi?t=n

サンプルでは、システム設定【4】でログイン後のジャンプ先を下記のように設定してみました。
https://〜/shopssl.cgi?mode=mypage (ログイン後はマイページへ)
http://〜/ (ログアウト後はHOMEへ)

また、システム設定【13】のヘッダーのカスタマイズで、TOPロゴのリンク先をフルパスで設定してください。
<a href="http://〜/"><img src='html/images/logo.gif' border='0'></a>


【2】携帯用スクリプトのパスの設定
システム設定【20】で下記のスクリプトをSSLと非SSLのフルパスで設定します。
http://〜/k_shop.cgi
https://〜/k_shop.cgi
http://〜/k_entry.cgi
https://〜/k_entry.cgi

携帯の場合、機種により使えるSSL会社が異なっています。対応状況を公式サイトで確認してください。⇒携帯対応SSL

【3】画像のパスの設定
画像のパスは相対パスで設定します。そうすれば、「SSLで『保護されていない項目を表示しますか?』」というメッセージが表示されないで済みます。それで、システム設定【13】のカスタマイズでフルパス設定になっているところがあれば相対パスに変更してください。

【4】管理プログラムの呼び出し方
管理プログラムにアクセスする際に、admin.htmlをSSLで呼び出します。そうすれば、すべての管理プログラムをSSLで呼び出せますから、設定は相対パスのままで良いのです(初期値のままで良い)。

https://〜/admin.html

【5】決済プログラムのパス
システム設定【25】と【43】でご利用決済の下記のパスをSSLのフルパスで設定します。
https://〜/pay.cgi
https://〜/pay_zeus.cgi
https://〜/pay_emony.cgi

【6】自社アフィリトプログラムのパスの設定
システム設定【13】のカスタマイズ画面で、アフィリエイトプログラムの呼び出しをSSLで行います。
https://〜/affiliate/

さらに、システム設定【2】で、スクリプトaff_main.cgiのパスをSSLのフルパスで設定します。
https://〜/affiliate/aff_main.cgi

また、共有SSLの場合は、システム設定【26】で下記のパスもSSLのフルパスで設定します。
https://〜/access.cgi
https://〜/fly.cgi

また、ここで、アフィリエイトのページからの戻り先(HOME)もフルパスで設定します。

【7】問合せフォームのパスの設定
システム設定【3】で、お問合せページのパスをSSLのフルパスで設定します。
https://〜/form.cgi

問合せ用のシステム設定【2】で下記のパスをSSLのフルパスで設定します。
https://〜/form.cgi
https://〜/enrty.cgi

以上で、SSLの設定は終了です。可能な限りパスは相対パスの方が便利ですから、不必要に相対パスをフルパスに変更する必要はありませんので、初期値のままでご利用ください。

【注意】SSLを用いない時にもフルパス設定が必要なスクリプト
SSLを使用しないときは、相対パスのままでよいので変更の必要はありませんが、下記のものはフルパスで設定してください。

http://〜/k_shop.cgi  (システム設定【20】)
http://〜/k_entry.cgi  (システム設定【20】)
http://〜/pay.cgi  (システム設定【25】)
http://〜/pay_zeus.cgi  (システム設定【25】)
http://〜/pay_emony.cgi  (システム設定【43】)
http://〜/access.cgi  (システム設定【26】)
http://〜/fly.cgi  (システム設定【26】)
http://〜/download.cgi  (Contents-Cartのシステム設定【2】)


【独自SSLと共有SSLの違い】
独自SSLと共有SSLにはいくつかの違いがあります。X-serverのSSLを例にあげて説明したいと思います。
※共有SSLでは下記の理由で完全な動作を実現できない場合がありますので、独自SSLを推奨いたします。
【1】見た目が違う
https://wb-i.biz/   独自SLL 
https://sv94.xserver.jp/~xsvx1010153/wb-i.biz/   共有SSL

【2】クッキーの動作が異なる
クッキーはパスごとに保存されます。独自ドメインの場合は、ドメイン名が同じなので、SSLで非secureモードで書き込んだデータを非SSLでも読むことができます。もちろん、セキュリティーには注意する必要があります。
一方、共有SSLの場合は、SSLで書き込んだデータを非SSLでは読むことができません。これはログイン時に問題になります。SSLでログインしますが、非SSLからはログイン状態を確認できないからです。それで、当社のカートの場合は、SSLでログイン時に、非SSLでもログイン状態だけが分かるように非SSLで安全な情報を書き込んでいます。それでも、購入手続きの途中で会員情報を探す時にはSSLだけを用いますから、非SSLではログイン状態を判別できなくなってしまうのです。
この点、独自SSLの場合はパスが同じなのでは、非SSLからも非secureモードで書き込まれたクッキーを読むことができます。そこで、非SSL用に安全なデータを非secureモードで別に書き込んでおけば、非SSLからもログイン状態を判別できるのようになります。(SSLではsecureモードで、非SSLでは非secureモードで書き込むように、クッキーのsecureモードの自動切換え機能を搭載しています。)

【3】携帯の対応状況を確認する必要がある
SSL会社によって携帯電話のSSLの対応状況は大きく異なります。それで、確認が必要です。

【共有SSLを用いたサンプル】

       PC用: PCtoMobile2   携帯用: PCtoMobile2   管理: 管理メニュー


SSL業者&対応サーバSSL業者&対応サーバ
SSLを扱う業者はいろいろあります。値段もいろいろですが、年1万円ぐらいで独自SSLが導入できるようになりました。たとえば、X-serverでは、独自SSL(ラピッドSSL)を年10,500円で簡単に導入できます。これは、携帯にも対応しています。やっと手が届くところまできました。

業者名 価格(円)/年 備考
ベリサイン社 85,050〜 携帯の全機種で対応 
ジオトラスト 36,540〜  
thawte 47,000〜  
セコムトラスト    
エントラスト    
ビートラステッド 78,750〜  
日本クロストラスト 63,000〜  
サイバートラスト      
GMOグローバルサイン    
RSAセキュリティ    
コモドジャパン    
     

携帯対応SSL携帯対応SSL
携帯は機種により使えるSSLが異なっています。対応状況を公式サイトで確認する必要があります。

機種名 対応状況
DoCoMo 3キャリアの携帯電話端末にインストールされているルート証明書
SoftBank ルート証明書一覧表
AU SSL証明書一覧表 ダウンロード

SSLに関する情報サイトその他、SSLに関する情報サイト
DoCoMo ドコモの公式サイト
SoftBank ソフトバンクの公式サイト
AU AUの公式サイト
携帯電話とSSLルート証明書 3キャリアの携帯電話端末にインストールされているルート証明書
SSLreview.jp SSLに関する情報サイト



Copyright (C) 2012  WEBインベンター All rights reserved.