为此目的加密/解密通过PHP上传的文件的最佳方法?
我正在为一个服务创建文件上传系统的原型,该服务需要对用户上传的文件进行基本加密形式.上传的所有文件将上传到用户可以自由下载和上传文件的同一目录,但只有授权用户才能从上传文件中删除文件.
考虑到这一点,我需要知道加密这些文件(通过crypt()或类似文件)的最佳方法,以便存储在非公共可访问目录中.我考虑使用PHP内置的基本64位编码函数来做到这一点,但似乎有人能够在另一台服务器上写一个PHP脚本来解密存储在我服务器上的文件,从而使加密保护完全无用. 总之,我需要知道实现它的最佳方法(即使用哪些函数或类),以使其符合以下标准: >该功能需要是可逆的,只有通过PHP的$_SESSION变量登录的用户才能解密加密的文件. 我可能担心的不仅仅是必要的,但我想在基本安全性的同时尽可能地使用它.我不保护任何特别重要的信息,如信用卡信息或商业机密,但我设计的用户希望能够安心地知道至少有一些措施可以防止黑客入侵文件已上传. 解决方法
base64不加密.
如果你想要强加密,你会想要考虑使用GPG extension 然后,您需要仔细考虑您的系统架构. 如果服务器需要加密/解密文件,则密钥需要位于服务器上,并且可由Web服务器进程读取.这意味着如果有人破坏了您的服务器,他们可能会访问解密文件所需的一切! 更糟糕的是,由于您的PHP应用程序驱动加密/解密,攻击者需要做的就是访问您的一个用户帐户. 如果攻击者以某种方式访问??您的文件存储目录,加密只会保存您,但服务器上没有任何其他内容.这是一个非常不可能的情况. 在您的情况下,听起来像磁盘加密是过度的.如果文件不能直接通过网络访问,那就足够了.重点关注确保主机系统是安全的(更新的软件包,良好的防火墙规则),以及您的应用程序是安全的(仅在https下运行,使用最佳实践来抵御SQL注入和CSRF攻击,需要强密码等). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |