【问题标题】:Safely getting card number for payment gateway安全获取支付网关的卡号
【发布时间】:2009-12-08 02:34:34
【问题描述】:

我有一个 BluePay 的支付网关 API。我的应用程序是 PHP 的。我可以使用类似于此的代码处理交易:

bp->进程(1111111111111111,.....) 111111111111111 是卡号。

处理函数使用 PHP 的 CURL 包装器将卡号发布到 bluepay 的站点。

如何安全地从用户那里获取卡号?

我将 111111111111111 替换为用户填写的变量。

【问题讨论】:

  • 你的问题有点含糊。

标签: php security payment-gateway


【解决方案1】:

您需要确保通过 SSL 连接接收卡号(来自用户)和发送卡号(到您的网关)。我假设您的网关不允许它以任何其他方式进行,因此交易的那一方*可能*已经安全。

同样重要的是不要在任何地方存储 CC 数据,只需将其传递到网关即可。

因此,您需要为您的网络服务器购买 SSL 证书,并确保发送的所有敏感信息都经过加密 (https://)。您可以自己生成 SSL 证书,但这不会给您的用户带来温暖的模糊安全感。它也不会验证您的网站是否就是它声称的身份。

【讨论】:

  • “存储”是指在磁盘上还是作为变量?另外,如何自己生成 SSL 证书?
  • “存储”是指(临时执行的)脚本之外的任何内容。平面文件、数据库、缓存、任何长期存储(所以是的,在磁盘上)。自签名证书可以在没有签名 CA 的情况下生成,但缺少 CA 提供的真实性检查。
【解决方案2】:

通过加密连接给他们一个表格?

【讨论】:

    【解决方案3】:

    您可以在namecheap 获得便宜的单域 SSL 签名证书

    除此之外,我还建议在发送之前对号码进行哈希处理。 SSL 并不完美:Defeating SSL

    【讨论】:

      【解决方案4】:

      不要忘记,如果您正在托管一个收集信用卡信息的页面,那么就 PCI-DSS(支付卡行业数据安全标准)而言,该系统将成为“范围内”,它附带如果你必须遵守它,整个世界的悲痛!

      您最好使用“托管”解决方案进行付款。即,用户被重定向到托管在 Worldpay.com 上的页面,以实际输入他们的卡详细信息,然后再重定向回您的网站。

      【讨论】:

      • 如果您想从环境中消除信用卡信息,托管页面不是您唯一的选择。使用 Braintree 的透明重定向 API (bit.ly/braintree-api),您可以托管收集信用卡信息的表单,但它会直接提交给 Braintree。您保留对结帐流程的控制权,但您的 PCI 范围会大大缩小。披露:我为 Braintree 工作。
      猜你喜欢
      • 1970-01-01
      • 2011-12-30
      • 2015-01-16
      • 2017-12-29
      • 1970-01-01
      • 2013-03-08
      • 1970-01-01
      • 2012-05-28
      • 1970-01-01
      相关资源
      最近更新 更多