用户名 +访问图像的密码,PHP
我有安全摄像头,可以将照片上传到服务器。无法直接访问这些文件夹,我正在寻找经过身份验证的用户可以访问其照片的解决方案。
解决方案是这样的:
- 安全摄像头将照片上传到“/home/myserver/[用户名]”
- 用户访问 www.example.com,询问用户名和密码。
- 经过身份验证的用户可以访问安全摄像头照片。
我有一些想法,但我要求的是典型的解决方案。解决方案应该是 PHP 。
编辑: 好的答案。我更喜欢包含简单用户管理的解决方案。这应该是非技术人员的事情。所以我可以使用管理员帐户添加用户。这就是使用 PHP 的意义所在。
I have security cameras which uploads the photos to server. There is no direct access to those folders and I'm looking for solution where authenticated users can access their photos.
The solution is something like this:
- Security camera upload photos to "/home/myserver/[username]"
- User goes to www.example.com which asks username and password.
- Authenticated user have access to the security camera photos.
I have some ideas but I'm asking for typical solutions. Solution should be in PHP.
EDIT:
Good answers. I prefer solution which contains easy user management. It should be something for non-technical person. So I can add users using admin account. That was the point of using PHP.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您甚至不需要 PHP。您只需设置 Apache 虚拟主机即可做到这一点。
基本上,您可以使用基本身份验证来验证用户身份,并使包含图片的目录可列出。
http://httpd.apache.org/docs/current/mod/mod_auth_basic.html
您应该在 Directory 指令中使用它来使特定目录可列出:
You don't even need PHP for this. You can do it solely by setting up an Apache virtualhost.
Basically you could just use Basic Authentication for the authenticating the users and make the directory with the pictures listable.
http://httpd.apache.org/docs/current/mod/mod_auth_basic.html
You should use this in the Directory directive to make the specific directory listable:
将文件放在互联网上无法读取的位置(文档根目录之外)。创建一个简单的基于 PHP 的登录脚本,并让 PHP 列出位于文档根目录之外的所有文件(PHP 可以读取这些文件)。如果用户单击该文件,则使用 PHP 打开该文件,设置正确的 HTTP 标头并将其内容传输到用户的浏览器。非常安全。
请参阅 fpassthru 了解流式传输内容的方法。
Put the files in a non-readable location from the internet (outside of the document root). Create a simple PHP based login script, and let PHP list all files which are located outside of the document root (PHP can read those files). If a user clicks the file, open the file with PHP, set the correct HTTP headers and stream it's contents to the browser of the user. Pretty fail-safe.
See fpassthru for a way of streaming the content.
另一个简单且高性能的选项是使用
X-SendFile
标头(请参阅此模块对于 apache),该功能内置于 Lighty 中。使用简单的 PHP 脚本列出不可通过 Web 访问的目录中的文件。要启动下载,只需将
X-SendFile
标头设置为文件路径,Apache 将处理其余部分。例如
Another easy and high performance option is to use
X-SendFile
headers (see this module for apache), the functionality is built into Lighty.Use a simple PHP script to list files in a non web accessible directory. To initiate the download simply set the
X-SendFile
header to the path of the file and Apache will handle the rest.E.g.
为什么不将 htaccess 与基于 PHP/Web 的管理界面(例如 PHPAccess 结合使用)
Why not use htaccess for this in combination with a PHP / web based admin interface like PHPAccess