我可以在数据库中保存信用卡密码吗?

xRo*_*bot 13 php database credit-card

对于从服务器进行的自动操作,我需要以明文(显然是一致的)保存数据库中用户的信用卡号和密码.

有问题吗?

我需要注意什么?

Pau*_*ulG 19

PCI-DSS(支付卡行业数据安全标准)绝对禁止将卡详细信息以明文形式保存到磁盘.此外,3位数的卡片安全代码(Amex上的4位数字)无法在授权后存储,理想情况下,您应该只在授权完成之前将其保留在内存中.

PCI规定你可以存储最多以纯文本的前六个和最后四位数字.打印收据的要求不同,您最多只能打印最后四位数字.

如果您想在持久化之前尝试加密细节,PCI就不会那么容易.您需要考虑密钥管理,密钥轮换,拆分密钥.此外,您需要对内部网络安全性进行年度现场审核,并对公共网络进行季度审核.净成本很容易达到数千美元.

综上所述.甚至不要考虑它!


Ala*_*nse 18

我见过的大多数信用卡处理协议都不允许您存储卡背面的代码.

存储纯文本信用卡号码还有其他安全隐患,但您的协议通常明确禁止存储代码.您需要阅读自己的内容,以确保能够做到这一点.

至于存储信用卡号码,这通常也是一个非常糟糕的主意.如果您的数据库遭到入侵,您将承担责任,这可能会花费您很多钱.

除非您有充分的理由存储信用卡号码并且有一个非常好的团队致力于安全性,否则我不建议存储任何信用卡数据.


bpe*_*n76 8

简短的回答,不,不好的主意.你必须考虑很多因素,这不是一个好主意.不管怎样,大多数协议都不允许你这样做.

Authorize.net(只是一个例子)将存储信用卡信息,以便您可以进行重复.这是一个非常好的系统,可以解决任何与存储相关的问题.


Mar*_*ams 5

CVV代码用于验证持卡人在原始交易时是否拥有该卡.一旦你验证了,你不再需要它,所以不要存储它.

我所知道的所有商家帐户协议都明确规定您不得存储CVV.这是出于安全原因.

在每次自动交易中使用CVV代码就像是说你的自动化系统在交易时拥有它所拥有的卡,我猜不是这种情况.

一旦您第一次验证它就不需要它.绝对不要存储它.

您不得以明文形式存储信用卡号码.