2013-05-07 84 views
1

我正在构建我的第一个(原始)内容管理系统。 用户可以上传/存储文件(pdf,doc,xls等)。这些文件用mcrypt加密。我也有一个PDF /文档查看器,所以用户可以浏览他们的文件,而无需下载它们。但是我遇到了加密文件的问题。删除PHP中的临时解密文件

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

有什么建议吗?

回答

1

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

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

+0

我认为这将是理想的。我不太清楚如何在不创建文件的情况下将内容解密到插件中。您可以在不需要了解我的整个加密设置的情况下详细阐述这些内容吗? – dsol828 2013-05-07 23:15:10

+0

至于第二点,我关心的是事实上服务器上暴露的内容。大多数用户可以完全访问所有文件,所以不用担心。 – dsol828 2013-05-07 23:16:37