我需要将用户的信用卡号和安全码以明文形式保存在数据库中(显然需要大家的同意),以便服务器进行自动操作。
这样做会有什么问题吗?
我需要注意哪些事项?
我需要将用户的信用卡号和安全码以明文形式保存在数据库中(显然需要大家的同意),以便服务器进行自动操作。
这样做会有什么问题吗?
我需要注意哪些事项?
PCI-DSS(Payment Card Industry Data Security Standard)绝对禁止以明文形式将卡片详细信息保存到磁盘中。此外,三位数的卡片安全代码(美国运通卡为四位数)在授权后不能被存储,最好只在授权完成前将其保存在内存中。
PCI规定,您最多可以以明文形式存储前六位和后四位数字。打印收据的要求不同,您最多只能打印最后四位数字。
如果您想在持久化之前对详细信息进行加密,PCI标准并不容易。您需要考虑密钥管理、密钥轮换、分割密钥等因素。此外,您需要进行每年一次的现场审计以检查内部网络安全性,并进行每季度一次的公共网络审计。总费用可能轻松达到数千美元。
总之,别想了!
我所见过的大多数信用卡处理协议都不允许您储存卡背面的代码。
储存纯文本信用卡号码还有其他安全隐患,但通常协议中明确禁止储存卡背面的代码,您需要阅读自己的协议以确保是否可以这样做。
至于储存信用卡号码,那通常也是一个非常糟糕的主意。如果您的数据库被攻击,您将承担责任,而且可能会花费大量的钱。
除非您有很好的理由储存信用卡号码并且有一个非常出色的安全团队,否则我不建议储存任何信用卡数据。
简短回答,不行,这是个坏主意。你需要考虑很多因素,所以这不是一个好主意。更不用说大多数协议都不允许你这么做。
Authorize.net(只是一个例子)会存储信用卡信息,以便您可以进行重复账单。这是一个简单的系统,非常有效,并且使您免于任何与存储相关的问题。