買い物サイト用のカード決済プログラムの仕組みについて質問があります。


1ページ目は個人情報とカード番号を入力してもらい、
2ページ目は入力した内容を表示、
3ページ目はカード決済会社へ情報を送信し「お買い上げありがとうございました」を表示という処理を考えています。
1ページ目から3ページ目まですべてSSL化させ、某カード会社と契約を済ませました。

そこで、カード番号の取り扱いの仕組みについて質問があります。
1ページ目で入力されたカード番号を2ページ目と3ページ目で利用するために、どこかに一時的に保存しておく必要があると思います。

私が思いついたのは以下の3つの方法でした。
(1)カード番号を暗号化してページにhiddenで埋め込み各ページに渡していく方法
(2)カード番号を暗号化してcookieに一時保存する方法
(3)プログラムからしかアクセスできない(サーバの)ディレクトリに一時保存する方法

出来るだけ安全でシンプルな処理をしたいのですが、どのような方法が良いと思われますか?

経験豊かな方にアドバイスをいただければと思います。
よろしくお願いします。

回答の条件
  • 1人2回まで
  • 登録:2008/05/12 21:13:37
  • 終了:2008/05/19 21:15:02

回答(2件)

id:t_shiono No.1

t_shiono回答回数256ベストアンサー獲得回数222008/05/12 21:31:20

ポイント35pt

cookieやhiddenはクライアントから送られるものになりますので、あまり適切ではないかなと思います。

もちろん、暗号化するとのことなので、改ざんされても、改ざんが検出できるのだとは思いますが。

一番シンプルなのは、セッション上に保存することではないかと思います。

セッションを使うとなると、セッションハイジャックの問題がつきまといますが、例えばですが、ページ1で決済IDのようなものを内部的に発行しておき、同一の決済IDでの決済は1度に制限するなどで、仮にハイジャックされたとしても、悪用は難しくなるはずです。

何かの参考になれば。

id:minami659

書かれていたように、セッションハイジャックされにくいセッションIDを発行し、

セッションIDをhiddenで渡していく感じですね。

参考になりました、ありがとうございました。

2008/05/13 23:33:54
id:pahoo No.2

pahoo回答回数5960ベストアンサー獲得回数6332008/05/12 22:37:48

ポイント35pt

(1), (2)は論外です。SSLは通信路しか守りませんから、クライアントのキャッシュに情報が残る hidden や、同じくクライアントにデータが残る cookie は非常に危険です。

(3)プログラムからしかアクセスできない(サーバの)ディレクトリに一時保存する方法

が第一選択です。

通常、SSL Session-ID をこのデータファイルにリンクさせます。その手順は、#1さんが示されているとおりです。


ただ、御社サイトで個人情報とカード番号を入力させ、一時的にせよ御社サーバに保管するというのは、すべてのリスクを御社が負うということですので、ご留意ください。

私だったら、こちらから伝票番号(Session-IDにリンク)と決済金額をカード決済サイトに送信し、個人情報とカード番号の入力および決済はカード決済サイトに任せるという方法をとります。

id:minami659

上からサーバにはカード情報を保存するなと言われていたのですが、

クライアントに保存するよりは安全なのが理解できました。

> 私だったら、こちらから伝票番号(Session-IDにリンク)と決済金額を

> カード決済サイトに送信し、個人情報とカード番号の入力および決済

> はカード決済サイトに任せるという方法をとります。

これが出来れば安心なのですが、契約したカード会社では難しいみたいです。

(3)の方法で検討したいと思います、ありがとうございました。

2008/05/13 23:34:23

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません