2

私はクレジット カード プロセッサ スクリプト (プロセッサによって提供される) を使用して作業しています。このスクリプトは、さまざまなクレジット カード データとマーチャント アカウント データを取り込み、cURL を取得し、トランザクション ステータスの戻り XML を解析します。

コード:

define("CURL_PROCESSING_URL", "https://ideposit.vbprograms.net/servlet/pg");

$params =   "Merchant_User_Name=" . "vitale" .
            "&Merchant_Password=" . "test" .
            "&Tracking_Number=" . "00001" .
            "&Credit_Card_Number=" . "4012888888881" .
            "&Credit_Card_Exp_Date=" . "1205" .
            "&Charge_Amount=" . "12.00" .
            "&AVS_Street=" . "8320" .
            "&AVS_Zip_Code=" . "85284" .
            "&CV_Security_Code=" . "999" .
            "&Credit_Card_Type=" . "MC_CARD_VISA" .
            "&CardHolder_Name=" . "test Card Holder";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, CURL_PROCESSING_URL);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$returned = curl_exec($ch);
curl_close($ch);

$p = xml_parser_create();
xml_parse_into_struct($p, $returned, $vals, $index);
xml_parser_free($p);

質問:

1) SSL_VERIFYPEER を false に設定すると、サーバーのなりすましやトランザクション データの傍受が容易になりますか?

2) cURL の URL と関連する POST 値は、サーバー ログに保存されていますか、それともプレーン テキストで転送されていますか?

3) この取引を実行するためのより安全な方法または一連のオプションはありますか?

4

1 に答える 1

2

本番環境では、CURLOPT_SSL_VERIFYPEER = true のデフォルト値を使用することをお勧めします。これにより、SSL 証明書が有効であることが確認されます。おそらくプロセッサが、自己署名証明書または期限切れまたは類似の証明書を持つ可能性のあるサンドボックスを提供するテストまたは開発環境では、おそらくこれを false として問題ありません。

SSL を使用しているため、データはプレーン テキストで送信されません。どのような種類のエラー ログが設定されているかを知らなければ、それがサーバー ログに保存されるかどうかを判断するのは困難です。

cURL は、常に SSL を使用し、機密データをログに記録していないと仮定して、あなたがやろうとしていることを行うのにまったく問題ありません。

于 2012-07-31T20:42:37.170 に答える