我目前正在构建一个获取信用卡信息的设置.使用以下结构:
服务器1:
我使用PBKDF2散列,完成了基于此代码构建的类.
服务器2:
我的问题:
如果服务器1以这种格式存储paswword:algorithm:iterations:salt:hash
例如: sha256:1000:Pe27BkIKkBHklogp9Io80iRKtF+6koly:nrYUwOlixwJECRcjBRKwQ+MVNMTbnYnm
如果服务器一被泄露,在我看来,拥有这种格式的密码将使他们很容易破解网站的密码并访问用户的信用卡信息.
这是我需要使用Mysql(AES_ENCRYPT()和AES_DECRYPT())的情况吗?
我在想这个吗?
有没有更好的方法来保护服务器1中的信息?
根据评论更新
我建立了我的供暖和空气公司系统.任何在线支付的人如果愿意,都可以使用quickbooks存储他们的cc信息.我有几个较大的客户,我们每月在办公室收费,并通过桌面终端处理cc.这些客户在我们的服务器上有客户档案,他们可以访问.这些是我希望允许存储cc信息的客户端.这样我就不必将cc信息存储在我们办公室的纸上,供任何人查找.
老实说,如果我设法攻破服务器 1,我不会尝试破解这些密码。他们应该是安全的。我更可能做的是尝试在服务器上安装我自己的代码,以便在用户登录时向我发送密码和/或信用卡信息。例如,假设您在名为 login.php 的文件中处理身份验证。如果我可以破坏login.php,那么当它验证登录时,我可以让它执行curl命令或其他命令将登录信息发送到我自己的服务器,我可以在那里收集它。
但我离题了......答案是,您对用户登录详细信息的散列应该是安全的,正如您所描述的那样。如果服务器 1 的数据库遭到破坏,它应该尽可能安全。您可以在 PHP 代码中添加一层混淆,以执行类似 munge 之类的操作,以便能够访问数据库但无法访问代码的人会更难知道您使用什么过程进行哈希处理密码,这将避免黑客尝试暴力破解密码,例如password、iloveu等。我还强烈建议服务器2上的信用卡信息使用AES_ENCRYPT()PHP或PHPmcrypt_encrypt()函数以加密格式存储。
确保通过 POST 表单清理所有输入,然后就可以开始了。
| 归档时间: |
|
| 查看次数: |
172 次 |
| 最近记录: |