【问题标题】:Submitting credit card info through Stripe and validating通过 Stripe 提交信用卡信息并进行验证
【发布时间】:2013-01-11 02:25:47
【问题描述】:

我正在关注 Ryan Bates 的 Railscast 向 Stripe 提交付款。他删除了信用卡信息的 name 属性,这样信用卡信息就不会提交给服务器,只能通过 ajax 调用提交给 Stripe。

这不适用于 jQuery Validation,因为它需要 name 属性。

我最终决定重新使用 name 属性,但在 Stripe 回调中将其设置为 null。

我的问题是这是否仍然是一种好的、安全的做法。

【问题讨论】:

    标签: jquery validation stripe-payments


    【解决方案1】:

    我们建议不要将名称属性放在表单字段中的原因是,您可以确保输入永远不会提交到您的服务器。例如,如果在捕获表单提交事件的客户端代码中存在 JavaScript 错误,则可能发生这种情况。

    话虽如此,这只是一种预防措施,而不是要求。

    【讨论】:

      【解决方案2】:

      不推荐通过 ajax 提交卡详细信息的 PCI 自满。我处理卡处理相当多,最好的做法是:

      1. 确保页面在 SSL 连接 (HTTPS) 上
      2. 使用普通形式的 POST 方法
      3. 确保您的服务器配置符合 PCI 合规性要求
      4. 永远不要存储卡的详细信息

      您可以在此处阅读有关 PCI 合规性的更多信息:http://www.cisco.com/en/US/netsol/ns625/index.html

      请注意,如果您遵循正确的 PCI 合规性要求,处理卡详细信息的公司将毫无问题地符合 PCI 标准。许多银行已经开始强制他们的客户按照必要的要求遵守 PCI 合规性。

      【讨论】:

      • 我应该注意到,在这种情况下,卡的详细信息通过 SSL 连接直接发送到 Stripe.com,并且完全安全且符合 PCI 标准。 Stripe 拥有业内最严格的 PCI 合规性。
      • 嗨,Alex,但是如果您想通过 AJAX 从您的网站提交详细信息,那么您是从非安全连接(如果您的网站没有 SSL 证书)提交到完全不建议使用 javascript 进行安全连接。另一件事是您将如何安全地处理 3D?如果您能概述付款(结帐)解决方案的整个过程,并更详细地概述您想要实现的目标,将会很有帮助。
      • 嗨,亚历克斯。是的,我们确实要求商家在其结帐页面上使用 SSL,但只要他们使用 Stripe.js,他们就符合 PCI 标准。正如你所说,我们不支持 3D 安全。我应该提到我在 Stripe 工作并编写了当前版本的 Stripe.js。
      • 嗯,这完全取决于开发人员想要使用什么技术,在我看来,使用的技术越简单,就越容易维护更高级别的安全性。例如,如果您使用简单的提交方法,则不必担心 JS 错误或由于 Internet 连接速度慢而导致 javascript 无法完成启动,这可能会给客户带来不便。页面越快响应速度越快,客户完成结账的可能性就越大,并且不会发生放弃购物车的情况。
      • 感谢两位的帮助! Alex 1,我没有考虑 js 错误允许意外将 cc 信息提交到服务器。我考虑简单地从服务器日志中过滤该信息,但最后我编写了自己的验证——不使用 jQuery 验证——只检查 cc 的长度和 cvv 的存在。这可能会导致对 Stripe 进行少量额外的 ajax 调用,但看起来更安全。
      猜你喜欢
      • 2015-04-13
      • 2021-07-04
      • 1970-01-01
      • 2012-02-25
      • 2020-02-28
      • 1970-01-01
      • 2017-02-10
      • 2012-01-01
      • 2016-01-13
      相关资源
      最近更新 更多