【问题标题】:Is it possible to do credit card payments from a heroku server using activemerchant?是否可以使用 activemerchant 从 heroku 服务器进行信用卡支付?
【发布时间】:2011-04-14 11:46:55
【问题描述】:

我正在构建一个需要接受信用卡付款的应用程序,例如active merchant。在安全性方面,它是否可以住在heroku 并使用authorize.net(或类似的)作为支付网关?

如果需要存储信用卡号怎么办?

编辑

不会将用户转发到 authorize.net。

【问题讨论】:

    标签: security heroku authorize.net activemerchant


    【解决方案1】:

    简单的答案是肯定的,我相信是的,但除此之外,这取决于。

    您可以为与第三方服务(http://docs.heroku.com/config-vars)相关的各种键和其他值设置环境变量,或者只需将它们签入并部署它们。

    如果您使用的是 authorize.net 的托管支付服务,并转发到他们的网站,则您自己不需要 ssl。如果您将托管提交信用卡号和个人信息的表单,然后通过服务器上的 API 将其转发到 authorize.net,您需要为 heroku (http://docs.heroku.com/ssl) 设置 ssl,以便您的表单是安全。

    现在,通过信用卡接受付款并通过它是一回事,保存信用卡号码和其他私人信息是另一回事。没有向您指出各种安全标准文档(即此处适用 PCI DSS),我只会说除非您绝对必须,否则不要存储 CC 号码和相关的个人信息,只需转发到网关并确保您不是记录这些字段 (http://guides.rubyonrails.org/security.html#logging)。如果您确实需要存储信用卡数据,我认为您需要对数据库和服务器进行更多控制才能达到合规性,而且我不知道您可以使用 AWS 或 heroku 这样的通用云主机并执行此操作(也许其他一些 SO 用户会纠正我)。但是,使用 authorize.net 之类的支付网关可以帮助您实现目标。

    我还要指出,不同的州现在都有关于存储敏感数据的法律(例如我居住的 MA),因此还有另一个理由避免这样做,除非它对您的业务模式至关重要。

    有关 PCI 合规性的一些过时但很好的一般性讨论,请看这里:http://broadcast.oreilly.com/2009/02/pci-in-the-cloud.html

    【讨论】:

    • “如果您确实需要转发信用卡数据”是指“存储信用卡数据”吗?
    • 我很好奇 - 大多数支付网关都需要服务器的 IP 地址。这对 heroku 托管的应用程序有什么作用,因为它们都有相同的 A 记录 (proxy.heroku.com)
    • 只需添加一项 - 如果您需要向客户收费,您总是需要 SSL。尽管实际付款可能在 PayPal 或类似网站等第三方网站上处理,但攻击者仍有可能替换您的整个付款页面,而您的用户仍可能向完全不同的商家帐户付款。为了确保您的用户安全,您需要 SSL - 强烈推荐。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-29
    • 1970-01-01
    • 2014-07-25
    • 2021-11-27
    • 2014-08-23
    • 2017-09-12
    • 2016-01-28
    相关资源
    最近更新 更多