【问题标题】:Passing Credit Card Information via AJAX通过 AJAX 传递信用卡信息
【发布时间】:2011-03-09 16:24:09
【问题描述】:

我想知道这是否是一种处理信用卡信息的安全方式。该站点使用 PHP 和使用 SSL 证书的 IS,但不是提交表单并获取 $_POST 变量。我想尝试使用 JQUERY AJAX 并与用户沟通他们的信息是否被批准。但我担心这种方法是否安全。下面是我的代码示例。

$.ajax({
    type: "POST",
    url: "ajax_process_credit_card.php", 
    data: { cardnumber : cardnumber , cardexpmonth : cardexpmonth, cardexpyear: cardexpyear, chargetotal: chargetotal, ordertype: ordertype  },
        success: function(msg){  

    $("#status").ajaxComplete(function(event, request, settings){   

     if(msg == 'APPROVED'){

          complete_registration();
     }
     else // ERROR?
     {
     var error_message= msg;

       $('#error_message').html(error_message);

     }  

     });  

     }  

      });  

这样可以吗?

【问题讨论】:

  • 看起来不错,只要您使用 SSL 连接,它就和不使用 ajax 一样安全。

标签: php jquery ajax security ssl


【解决方案1】:

只要您使用 HTTPS,这并不重要。只需确保您使用 POST,这样数据就不会出现在访问日志中。

请注意,如果您处理信用卡数据,则应获得 PCI 认证。或者也许让另一家公司处理它并避免所有麻烦。

【讨论】:

    【解决方案2】:

    AJAX 方法实际上是在后台执行 HTTP POST,因为您的类型设置为 POST。

    确保通过 HTTPS 进行所有连接。

    【讨论】:

      【解决方案3】:

      如果您发布到同一个站点并且您发布到 https,而不是 http 等价物,那么我看不出它的安全性会如何降低。

      【讨论】:

        【解决方案4】:

        假设您页面的 URL 是基于 HTTPS 的服务器,并且您的 AJAX 查询请求的 URL 也是基于 HTTPS 的服务器,则通信应该与使用普通 post0back 到同一 URL 时一样安全.

        只需确保您发布到的 URL 是通过 HTTPS 的服务器。在服务器端,您还可以检查请求是通过 HTTPS 发出的,并拒绝任何不是的请求..

        【讨论】:

          猜你喜欢
          • 2021-02-02
          • 1970-01-01
          • 2013-08-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-02-17
          • 2016-03-08
          • 1970-01-01
          相关资源
          最近更新 更多