在PHP中删除临时解密文件

时间:2013-05-07 21:04:50

标签: php file encryption content-management-system delete-file

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

截至目前,当用户点击文件时,php脚本会将副本解密到文件夹以供插件访问。显然,我需要一种在查看后删除这些解密文件的方法。我目前正在尝试通过PHP来实现它,但是我很难将脚本延迟足够长的时间以便插件加载文件。这甚至是最好的方法吗?例如,cron工作会更好吗?

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

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

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