nev*_*ame 37 mysql database credit-card
我想允许我的客户用户输入他们的信用卡信息,以便我可以每月向他们收费.
我想知道如何保存这些信息?
它应该保存在MySQL数据库("用户"表)中,还是这种信息过于敏感,需要存储在其他地方?
我没有这方面的经验,如果有人可以建议我如何实现这一点,我会很高兴.
谢谢.
Joh*_*nde 84
如上所述,请勿将信用卡信息存储在数据库中.这是一个麻烦的秘诀.这样做会使您成为黑客的一个非常有吸引力的目标,如果他们成功地检索它们,就会结束您的业务,并可能毁掉您的生活以及信用卡号码被盗的人的生命.
话虽如此,这里有三件事需要考虑:
1)您最好的选择是使用支付处理器/支付网关,提供定期计费.这方面的一个例子是Authorize.Net的Automated Recurring Billing服务.设置订阅后,他们会自动每月为您自行向用户收费,并让您知道交易结果.它可以为您节省大量工作,并减轻您存储信用卡信息的责任.
2)如果您存储商店信用卡号,您必须遵守PCI准则.这些指南由支付卡行业设定,并定义您可以做什么和不能做什么.它还定义了必须如何存储信用卡信息.您需要加密信用卡号码,您应该(但不是必须)加密相关信息(到期日期等).您还需要确保您的Web服务器和网络安全.未能满足PCI合规性将导致您的商家帐户丢失并被禁止永久拥有真正的商家帐户.这会限制您使用不太灵活的第三方处理器.请记住,PCI指南是一个良好的开端,但在网络安全方面几乎不是"如何".你的目标是超过推荐(很多).
3)州和国家的具体法律取代PCI合规.如果您遭受违规并且信用卡号码被盗,您将面临刑事起诉的风险.各州的法律各不相同,并且不断变化,因为立法者才刚刚开始意识到这是一个多么严重的问题.
就加密而言,请确保您了解哪些加密算法是安全的并且尚未被破坏.Blowfish是一个良好的开端,如果您使用PHP,建议使用mcrypt库(示例).
您不需要使用像PayPal等第三方支付提供商 - 但如果您要存储支付卡信息,则需要符合PCI标准.阅读这篇关于BC Ferries的文章,他们因未遵守PCI合规性而面临巨额罚款,以了解与PCI兼容的严重程度.
我现在的雇主正在接受PCI合规 - 这不是一个简单的过程,需要员工进行审计.执法取决于国家和州/省法律 - 加拿大IIRC要求您通过PCI雇佣委员会进行PCI认证,而美国的一些州允许PCI合规审计公司代替PCI委员会.