0

这似乎应该很容易找到,但我已经尝试了我能想到的所有搜索词组合,我能找到的只是“接近但没有雪茄”的答案。看了半个多小时,终于决定去问问。

我试图做的,明确措辞,是确保我的用户上传到我的网页或从我的网页下载的文件在传输过程中是加密的。我不满意只是将 https:// 放在文件链接的开头,因为这些文件需要密码保护。当然,为了对它们进行密码保护,我设置了目录权限,使里面的文件根本无法通过 URL 访问。我正在使用 PHP 脚本来管理上传和下载。

我曾尝试检查有关 headers() 和 mcrypt_encrypt() 等主题的 php.net 页面,但却空手而归。headers() 上的页面似乎仅适用于 HTTP,并没有告诉我如何使用加密协议进行文件下载(如果是这样的话),我不能使用 mcrypt_encrypt() 依赖于假设mcrypt_decrypt() 可以稍后运行以使文件可用,因为显然 mcrypt_decrypt() 在下载后不能在客户端运行(mcrypt_encrypt() 在上传之前也不能在客户端运行),所以我想知道我将使用什么方法来确保用户的浏览器能够以不需要用户采取任何操作的方式加密和解密这些文件 - 与其他所有内容的加密和解密方式相同。

我想假设我在这些网页 URL 上强制执行 https 的事实会像处理网页输出一样自动处理它。但是,我确实观察到具有单独文件路径(如图像和 CSS)的文件不会自动加密,并且我用来触发这些文件下载框的代码包含标题信息,这意味着它是一个单独的事务,并且可能没有加密。

我真的,真的从很多角度考虑过这个问题,我只是没有看到解决方案。有人想帮助我吗?

4

1 回答 1

0

使用 HTTPS 安全(加密)传输数据。将文件存储在每个用户的文件夹中,并且仅在身份验证后允许访问(通过 HTTPS)。

您很难找到另一个解决方案的原因是 HTTPS 是解决方案。

如果您想将加密的文件存储在磁盘上,您可以在上传文件时使用对称块(流)密码对其进行加密,并在下载文件时执行相反的操作。您可以使用每个用户唯一的密钥作为对称密钥。

于 2013-10-19T01:47:33.207 回答