不特定多数の方に開放したホームページ上で販売を行うネットショップ・オンラインショップにおける電子商取引では、ユーザーの入力情報を保護する事が必須であり、更に外部からの攻撃に備え十二分な対策を講じる必要があります。
保護しなければならないタイミングは、「cookieをセットする際」と、「セットしたクッキーをユーザーが保持している際」と「セットしたクッキーが送信されてくる際」、以降を含めたセッションとして「発行したクッキーが有効である(無効になるまでの)間」です。
ここでの話題はセッションですから有効期限としてはブラウザが閉じるまでだと思いますが、有効期限を設定した場合には、「クッキーが有効である期間」も保護するというよりは、不正取得されるケースも想定、検討しなければいけません。
保護する為には、システム内に保持する不要なセッション、セッション終了時の削除、一定時間経過して以後操作のないセッションはセッションタイムアウトにより削除する仕組みとする対策を講じる事がより効果的です。
セッションが悪用されるケースとしてはセッションハイジャックとセッションフィクセーションがあります。
セッションハイジャックとセッションフィクセーション、更にそれら以外の悪意ある攻撃と対策を見ていきましょう。
ショッピングカートに必要な品質確保する為の大前提の対策。
セキュリティを考える上でショッピングカートCGIの対策を講じただけでは不足です。
ショッピングカートCGIで利用する複数のファイルと公開するウェブサーバ上のセキュリティ設定とディレクトリ保護、ウェブサーバへのアップロード、ターミナルエミュレータ利用におけるセキュアな接続なども必要です。
また、ログインID、パスワードはセキュアなウェブサーバ、セキュアなFTPソフト、セキュアなターミナルエミュレータにおいても徹底管理が必須です。
ネット上でショッピング機能を利用する場合、「一連の操作をしているユーザー」を特定する為にはcookie/クッキーの設定が不可欠です。
ここまでのセキュリティは最低限必要であり、cookieの実装によりショッピングカートを一応組み込む事はできますが、残念ながら完全にセキュリティが確保されるわけではありません。
また、善意のアクセスの拒否か、またはセキュリティ確保の二者択一を迫られるケースもあります。