【问题标题】:Security and saving files to server安全性和将文件保存到服务器
【发布时间】:2015-10-11 07:54:39
【问题描述】:

我正在制作一个与 Dropbox 非常相似的 Web 应用程序。但是我没有将文件保存到数据库,而是将其保存到某个文件夹。

例如,当用户注册时,会创建带有用户名的文件夹。在该文件夹中保存所有文本文件。

现在,当创建文件时,用户可以使用他们想要的任何扩展名,并将保存为它。所以从技术上讲,有人可以编写 php 脚本,甚至是某种基于 unix 的脚本,它会破坏服务器并将其保存在他们想要的扩展名中(.php、.bat 等等......)。

我想到的只是加密文本,然后将其保存到加密的文件中。这样用户数据是安全的,我希望脚本不能被执行。我想听听你的想法如何让它变得更好,它对我和用户来说是否足够安全。


加密文本仅在用户打开时使用 javascript 解密。这样一来,即使我可以访问文件,也无法真正知道其中的内容,因为我没有加密密钥。

【问题讨论】:

    标签: php file security encryption server


    【解决方案1】:

    也许您可以删除执行具有chmod -R -x 的人上传的所有文件的权限?

    【讨论】:

      【解决方案2】:

      公钥和私钥。

      上传到服务器的所有文件,无论类型如何,都应该使用公钥通过服务器端加密进行加密——永远不要相信浏览器/用户会加密。

      然后,所有文件都应该对它们设置严格的权限,这样它们就不能被直接访问甚至执行。 CHMOD 如 600。

      最后,在下载时,用户可以使用私钥解密内容。

      【讨论】:

        猜你喜欢
        • 2017-02-09
        • 2013-04-24
        • 2016-01-28
        • 1970-01-01
        • 2012-10-17
        • 1970-01-01
        • 2013-10-04
        • 1970-01-01
        • 2011-06-05
        相关资源
        最近更新 更多