我们已经创建了一个门户网站供用户通过我们的网站在线支付。
我们为用户创建了一个选项,用于选中“复选框”以将其详细信息保存到其帐户中,以便下次可以轻松付款。
将信用卡详细信息保存到mySQL数据库的最佳方法是什么?我希望它是安全的,我不想纯粹将它们的详细信息保存到字段“XXXXXXXXXXXXXXXX”。
保存信用卡详细信息的最安全方法是什么?当网站上线时,我们的服务器上会有SSL。
此致
答案 0 :(得分:7)
除了严格屏蔽的“XXXX XXXX XXXX 1234”类型格式外,您永远不应存储CC详细信息,并且您不会被允许存储CVV号码。
您可以存储的是从您的付款处理器转出的交易ID,您可以从中查找其存储的CC编号副本。这样可以减轻您保护系统的问题,使您可以存储CC编号(这是一项巨大的任务),并将安全开销的责任放在处理器的头上。
SSL与保护数据库无关,仅在HTTP事务处于打开状态时才存在SSL连接,然后消失。您需要始终在服务器和数据库上保持100%的安全性。
我建议您获取PCI standards的副本,该副本会详细说明各种信用卡处理/处理级别的要求。
答案 1 :(得分:0)
如果您必须真正存储此信息,我认为您应该有某种encryption(mcrypt)。但说实话,我不是安全专家,我赞美的也可能是不安全的!?
如果您可以避免在您的服务器上存储此类信息,您应该这样做。期间!像其他人一样,甚至Jeff Atwood(Stackoverflow作者)也建议你not to store such information。您可能会受到损害,然后可以在互联网上免费获取该信息。你怎么付款? Aren您使用的是Paypal之类的东西,所以用户甚至不必输入这些信息吗?
答案 2 :(得分:0)
查看与Mark B.链接的pci要求。
在我最近的一份合同中,我曾与政府部门合作,虽然我与pci合规没有任何关系,但我知道它的成本超过了100万美元。你当然不需要花那么多钱。但请将其作为警告。
如果您在共享平台上运行,我只能重复其他人所说的内容,并说不要存储它以供重复使用。事实上,在共享平台上,根据卡片详细信息的存储情况,收集付款可能并不明智。
至少你需要一个虚拟机,如果不是防火墙后面的专用机箱,数据库应该在一个单独的服务器上,该服务器是防火墙的,只用于数据库。
永远不要忘记您的托管服务提供商可以访问该框,一名负面的工作人员并且您遇到了麻烦。或者至少你的持卡人是,如果他们可以追溯到你,你应该总是承认违规,那么你就麻烦了。
如果必须的话。然后存储其他所有内容,但每次都让用户输入信用卡。不要忘记有效期更改。所以你需要让用户更新,所以为什么不再重新获得整数。
如果您规定“卡片详细信息未存储”
,您的客户可能会更友好地看待您DC