1

我正在构建我的第一个(粗略的)内容管理系统。用户可以上传/存储文件(pdf、doc、xls 等)。文件使用 mcrypt 加密。我还有一个 pdf/文档查看器,因此用户无需下载即可浏览他们的文件。但是我在处理加密文件时遇到了问题。

到目前为止,当用户单击文件时,php 脚本会将副本解密到文件夹以供插件访问。显然,我需要一种在查看后删除这些解密文件的方法。我目前正在尝试通过 PHP 执行此操作,但是在延迟脚本足够长的时间以使插件加载文件时遇到了麻烦。这甚至是最好的方法吗?例如,cron 工作会更好吗?

有什么建议么?

4

1 回答 1

1

我建议将插件定向到直接向浏览器提供解密内容的 PHP 脚本的 URL。这样您就可以完全避免使用临时文件。

与任何有关安全的问题一样,问题是您要防御什么。您是否担心服务器上暴露的明文内容?还是您更担心用户猜测临时文件名并访问他们不应该访问的内容?在后一种情况下,足够强(与用户身份验证和加密密钥中的弱者一样强)由 cronjob 过期的随机文件名就足够了。在前一种情况下,请参阅我最初的建议并特别注意保护服务器上的密钥。

于 2013-05-07T21:14:40.473 回答