题
我要实现一个 PHP/mySQL
安装储存的信用卡信息。
它似乎喜欢 AES_ENCRYPT/AES_DECRYPT
是的路要走,
但我仍然困惑一点:
我怎么保持的加密钥匙安全吗?
硬连线到我PHP scripts(将生活在同一服务器上的数据库)似乎是一个重大的安全漏洞。
有什么"最佳做法"的解决方案在这里?
解决方案
你应该觉得漫长而艰难的关于你是否真的需要保持CC#.如果你没有一个很大的原因,不要!其他每个星期你听到有关一些公司正在受到损害和CC#'s被盗。所有这些公司做了一个致命的缺点-他们把太多的信息。保持CC#直到交易清除。在这之后,删除它。
尽量保证的服务器,最佳的行动方针是以安全的硬件和使用内部的系统座MySQL,并确保阻止任何网络入MySQL server.确保你使用这两个系统的权限和MySQL的权限,允许作为小访问需要。一些脚本,你可能会考虑只写的认证。真的没有加密的方法,这将是万无一失的(因为你总会需要解密,因此必须商店的钥)。这不是说你不应该的-你可以储存,你的钥匙在一个位置和如果你检测系统的妥协可以摧毁文件,并呈现的数据没有用的。
其他提示
MySQL,有六个简单的步骤,你可以做到安全己的敏感数据。
步骤1:除通配符的授权表
步骤2:需要使用安全密码
注:使用MySQL"--的安全认证"选择,以防止使用旧的、不安全MySQL密码格式。
步骤3:检查权限的配置文件
步骤4:加密的客户机-服务器传输
步骤5:禁止远程访问
步骤6:积极监视器MySQL访问的日志
安全的工具
我同意,但不要cc如果你不需要太多。但如果你真的太,确保该文件,它不是可访问的网站上。你可以写一个二元,将返回的关键。这种方式不存在明确的文本。但是如果你的服务器妥协,它仍然容易得到它。
安全你需要取决于应用程序。例如,如果只有时间cc#将使用是当用户登录(薄在线商店的类型情况),那么你可以加密cc#有的散列的用户的纯文本的密码,每用户盐,和一个专用cc#盐。不储存这种价值永久的。
因为你不储存这种价值,只有时间可以获得这一价值是当用户进入他们的密码登录。只是确保你有好的会期和垃圾回收政策。
如果这种情况并不适用于你,请说明你的情况的更详细,以便我们可以提供一个更合适的答案。