暂时使服务器文件公开

时间:2011-07-01 19:43:00

标签: php file-permissions joomla1.6

我有一个Joomla!网站和每个用户我有一个图像。 我想要的是将图像保密给用户,但暂时将其(好的,副本)公开。

我的想法是让用户点击一个调用“publish.php”脚本的链接。 此脚本将获取用户名并创建一个临时(30秒)文件夹,并将其私有映像复制到该临时文件夹中。

然后,该脚本将生成一个随机密钥,并使用用户名和密钥构建一个URL,即www.site.com/photos/get_photo.php?key=username.*key*

然后当有人进入该链接时(通过QR扫描仪),“get_photo.php”脚本会检查该密钥是否有效以及是否显示该图像。

我希望照片是公开的,因为任何人都可以看到它,但不是公开的,因为任何人都可以继续轮询我的服务器并在照片可用时拖动它们。

我坚持使用原始照片的安全性,如果它们是私密的,则脚本无法访问它们,但如果它们是公开的,则会失败使其暂时公开的目的。

下一个问题是在一个脚本中生成一个可以由另一个脚本验证的密钥。

非常感谢任何指导。

1 个答案:

答案 0 :(得分:0)

如果您要经历复制文件的开销,您可能还需要读取php脚本并输出文件本身。我不确定你是如何跟踪你的图像,但如果它在数据库中,你可以添加一个时间戳列,标记何时公开。然后让脚本检查该时间戳,以查看它是否在过去30秒内公开。如果有,请在图像上执行file_get_contents,设置相应的图像标题并输出,否则可能会加载默认的错误图像。