将信用卡号保存在 javascript 变量中

Save credit card number on javascript variable

我想知道执行以下操作是否安全:

我有一个多页表单(使用 jquery 完成,因此页面之间没有服务器请求)。

在第二页上,用户输入了他的信用卡信息。 在第三页(最后一页),用户确认在前两页输入的所有信息(如摘要)。

当用户点击第二页的下一步按钮时,运行以下脚本:

$("#payment-next").click(function(){
    var ccNumber = $("#card_number").val();
    //If credit card invalid
    if(!Stripe.card.validateCardNumber(ccNumber)){
      //Throw error 
    }
});

ccNumber变量也用在确认所有信息的第三页上。

将信用卡号存储在 ccNumber 变量中是否正确且安全?该变量存储在哪里?

如果不重新加载页面,可以将其存储在变量中,并且永远不会上网络,因此很安全。但是,您在 click 函数内声明了 ccNumber,在它之外该变量将不存在。像这样使用全局声明:

var ccNumber;
$("#payment-next").click(function(){
   ccNumber = $("#card_number").val();
  //If credit card invalid
   if(!Stripe.card.validateCardNumber(ccNumber)){
      //Throw error 
    }
});
// here and after ccNumber will be filled after every click you can check by console.log(ccNumber)

客户端真的不能做那么多,只要我想它是异步的并且你在输入上没有名称属性。

我真的不会让它成为全球性的,请看看Stripe.js

https://stripe.com/docs/custom-form

https://stripe.com/docs/stripe.js/switching.