我有安全摄像头将照片上传到服务器。无法直接访问这些文件夹,我正在寻找经过身份验证的用户可以访问其照片的解决方案。
解决方案是这样的:
我有一些想法,但我要求的是典型的解决方案。解决方案应该是PHP。
修改 好的答案。我更喜欢包含简单用户管理的解决方案。它应该是非技术人员的事情。所以我可以使用管理员帐户添加用户。这就是使用PHP的重点。
答案 0 :(得分:2)
你甚至不需要PHP。您可以通过设置Apache虚拟主机来完成。 基本上你可以使用基本身份验证来验证用户,并使目录中的图片可以列表。
http://httpd.apache.org/docs/current/mod/mod_auth_basic.html
您应该在Directory指令中使用它来使特定目录可列表:
Options +Indexes
答案 1 :(得分:0)
将文件放在互联网上的不可读位置(文档根目录之外)。创建一个简单的基于PHP的登录脚本,让PHP列出位于文档根目录之外的所有文件(PHP可以读取这些文件)。如果用户单击该文件,请使用PHP打开该文件,设置正确的HTTP标头并将其内容流式传输到用户的浏览器。非常安全。
有关流式传输内容的方法,请参阅fpassthru。
答案 2 :(得分:0)
另一个简单而高性能的选项是使用X-SendFile
标题(请参阅this module for apache),该功能内置于Lighty中。
使用简单的PHP脚本列出非Web可访问目录中的文件。要启动下载,只需将X-SendFile
标头设置为文件路径,Apache将处理其余部分。
E.g。
if($loggedin && file_exists($filepath)) {
header("X-SendFile: $filepath");
exit;
}
答案 3 :(得分:0)
为什么不将htaccess用于基于PHP / web的管理界面,例如PHPAccess