我正在为一家房地产公司建立一个小型应用程序,该公司需要存储敏感信息,如银行对账单,纳税申报表等。现在我上传表格只是一个标准的html上传表单,使用php $ _FILES来移动文件到所需的文件夹。这样可以正常工作,但是没有安全级别来保护这些敏感信息。我有两个问题?
首先,存储敏感文件(如银行对账单,纳税申报表等)的最佳做法(截至2017年)是什么?我试图在线搜索最佳实践,但我发现的一切都是5-10岁的信息或弃用的PHP功能。是否有特定的PHP功能我应该使用/研究?
其次,是否有任何教程或书籍可以帮助我理解PHP中的安全文件存储,文件加密等?
我的最终目标只是确保这些文件是安全的,不会落入坏人之手。我的问题特定于文件上传。我明白我的网站的其余部分也必须是安全的。我的问题只是保护文件。
感谢您提供任何帮助或指导。
答案 0 :(得分:2)
首先,存储银行对账单,纳税申报表等敏感文件的最佳做法(截至2017年)是什么?
对此的字面答案只是让他们完全正式(在远程硬盘上,如果需要保持数字化)并将它们存储在只有一个的高质量保险箱中 - 或最多两个可验证的密钥持有人。
阅读,下载并使用Defuse PHP Encryption Library。我去年对同一主题的阅读一直表明,如果不是这个领域的市场领先者,这个图书馆(以及所有的Defuses东西)都非常高。此加密库可以加密/解密文件。
同时研究Halite。这是一个由libsodium提供支持的高级加密接口,可以加密和解密文件。
另请read my answer here了解保护数据存储(字符串或blob等)的MySQL最佳做法。
如果使用数据库,最重要的是数据库和文件服务器是不同的服务器(并且根据数据的值,它们应该位于非常不同的物理位置),并且数据库包含文件服务器解密所需的加密密钥,因此当一台服务器受到攻击时 if ,数据仍然安全。
使用您自己的服务器。 不要使用" cloud"。 (要有合适的在线数据安全性并不便宜)