0

Web サイトに SSL がなく、あるページから別のページにクレジット カード番号を渡す必要があります。シナリオはこんな感じ。

  1. クレジットカード番号を確認します(有効な番号ですか)
  2. 次に、値を別の1ページのresponse.phpに投稿します
  3. 投稿値は index.php から暗号化する必要があり、次のページ (response.php) で復号化できるはずです。

    <script type="text/javascript">
    function validate(payment_form){
    var error="";
    
    if(trim(payment_form.credit_card_number.value).length==0){
    document.getElementById("credit_card_number_error").innerHTML="Enter Credit Card Number";
    error+= false;
    }else{
    if(IsNumeric(payment_form.credit_card_number.value)==false){
    document.getElementById("credit_card_number_error").innerHTML="Enter numeric values";
    error+= false;
    }
    else{
    document.getElementById("credit_card_number_error").innerHTML="";
    error+= "";
    }
    }
    
    if(error==""){
    return true;
    }
    else{
    return false;
    }
    }
    
    
    function IsNumeric(strString)
    {
    var strValidChars = "0123456789.-";
    var strChar;
    var blnResult = true;
    if (strString.length == 0) return false;
    for (i = 0; i < strString.length && blnResult == true; i++)
    {
    strChar = strString.charAt(i);
    if (strValidChars.indexOf(strChar) == -1)
    {
    blnResult = false;
    }
    }
    return blnResult;
    }
    
    </script>
    
    
    
    <form id='payment-form' name="payment_form" onSubmit="return validate(this)" action='response.php' method='POST'>
    <table>
    <tr><td>Credit Card Number</td><td><input type="text" placeholder="Credit Card Number" value="" id="credit_card_number" name="credit_card_number"></td><td><label class="error" id="credit_card_number_error"/></td>
    <tr><td></td><td><input type="submit" value="PAYMENT" class="login" id="payment" name="payment"></td></tr>
    </table>
    </form>
    

すべてを要約すると、フォームを使用してクレジット カード番号を投稿しています。これはエンコードする必要があり、次のページでデコードできます。これは可能ですか?

4

3 に答える 3

0

サーバーに送信する必要がないように、ローカル ストレージを使用して CC 番号を保存します。

localStorage.ccnum = num;

var num = localStorage.ccnum;
于 2013-06-21T08:02:48.197 に答える
0

SSL を使用している場合は、常に問題ありません。しかし、独自の PHP/JSP ページに対して AJAX 呼び出しを行いたい場合は、トリックを実行できます。

騙す:

オプション #1:シンプルな String.replaceAll メソッドを使用して、すべての数字をアルゴリズムのアルファベットに置き換えます。たとえば、すべての '1' を 'a' に、すべての '2' を 'b' に置き換えます。または、別の方法で行うこともできます。つまり、'1' は 'z' に置き換えられ、'2' は 'y' に置き換えられます。

オプション #2:ランダム文字ジェネレーターを使用して、一意の 10 文字を取得できます。それぞれ個別の番号です。次に、ajax 呼び出しで、ランダムに生成された文字列 (長さは 10) を渡す必要があります。次に、PHP または JSP ページが同じアルゴリズムを使用してクレジットカード番号を復号化します。

方法 2 は常にランダムであるため、より安全です。これは、最初に ajax 呼び出しを行い、PHP/JSP ページに 10 個のアルファベット (それぞれが数字) を生成し、それを DB またはセッションのどこかに保存するように要求する方法で、より安全にすることができます。次に、格納されている 10 個のアルファベットのキーまたはインデックスを返します。AJAX 呼び出しでは、実際の暗号化アルゴリズム文字列を渡しません。そのため、何が起こっているのか誰も理解できません。

于 2015-09-04T03:24:57.427 に答える