【发布时间】:2014-03-26 04:18:37
【问题描述】:
我正在使用 PHP/MYSQL 开发一些需要用户身份验证的服务器端代码。
当用户创建新帐户时,我会执行所有标准 hash+salt 的操作来将 hash 存储在数据库中,但我不知道如何处理他们需要上传的扫描 ID。
我的意思是,如果您创建了一个帐户,那么您的部分个人数据(名字、姓氏、地址……)是实体身份证(驾驶执照……)的扫描副本(图像)我担心我应该如何正确处理这些敏感图像。
如果你们能指出正确的方向或给我一些提示,我将不胜感激。
感谢您的宝贵时间!
编辑:
哇,你们太棒了,速度很快!
ID 的存储是强制性的,我希望我能以某种方式解决问题,但我不能。
我将按照您的建议通过软件提供访问权限,并按照您的建议尝试删除并存储在 CD 或类似的东西中。
我正在考虑用一些加密来加扰二进制数据,但不确定它是否是个好主意。
【问题讨论】:
-
只要正确处理文件就没有危险。我只是将它们存储在网络根目录之外。您不会仅仅因为将它们存储在数据库中而自动获得安全性。
-
始终将存储的文件重命名为 md5 字符串(或其他内容)。所以他们不能再访问上传的文件名了。将原始名称与加密名称一起存储到数据库中。确保通过 imagecreate() 破坏它。并检查 mime 类型(不是防弹!)
-
@RonnieJespersen:没有所谓的“没有危险”。安全性只会让攻击者实现目标更加困难——没有什么是不可逾越的。一个人曾经希望实现的最好的目标就是让一个目标如此难以实现,以至于攻击者在完成任何事情之前就耗尽了他们的资源(时间、金钱、计算能力等)有用。为了实现这一目标,我们需要确定自己所关注的攻击者,量化他们的资源并定义什么会被视为“有用的成就”。
-
@eggyal wordjungle... 我的观点是数据库并没有使它更安全(除非这是你的安全所在)但我的意思是把它们作为我发送的文件更不安全..
-
问题可能更适合security.stackexchange.com
标签: php mysql security sensitive-data