用户名 +访问图像的密码,PHP

发布于 2024-10-19 14:00:32 字数 353 浏览 2 评论 0原文

我有安全摄像头,可以将照片上传到服务器。无法直接访问这些文件夹,我正在寻找经过身份验证的用户可以访问其照片的解决方案。

解决方案是这样的:

  1. 安全摄像头将照片上传到“/home/myserver/[用户名]”
  2. 用户访问 www.example.com,询问用户名和密码。
  3. 经过身份验证的用户可以访问安全摄像头照片。

我有一些想法,但我要求的是典型的解决方案。解决方案应该是 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:

  1. Security camera upload photos to "/home/myserver/[username]"
  2. User goes to www.example.com which asks username and password.
  3. 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

拥有 2024-10-26 14:00:32

您甚至不需要 PHP。您只需设置 Apache 虚拟主机即可做到这一点。
基本上,您可以使用基本身份验证来验证用户身份,并使包含图片的目录可列出。

http://httpd.apache.org/docs/current/mod/mod_auth_basic.html

您应该在 Directory 指令中使用它来使特定目录可列出:

Options +Indexes

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:

Options +Indexes
你丑哭了我 2024-10-26 14:00:32

将文件放在互联网上无法读取的位置(文档根目录之外)。创建一个简单的基于 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.

哭泣的笑容 2024-10-26 14:00:32

另一个简单且高性能的选项是使用 X-SendFile 标头(请参阅此模块对于 apache),该功能内置于 Lighty 中。

使用简单的 PHP 脚本列出不可通过 Web 访问的目录中的文件。要启动下载,只需将 X-SendFile 标头设置为文件路径,Apache 将处理其余部分。

例如

if($loggedin && file_exists($filepath)) {
    header("X-SendFile: $filepath");
    exit;
}

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.

if($loggedin && file_exists($filepath)) {
    header("X-SendFile: $filepath");
    exit;
}
半葬歌 2024-10-26 14:00:32

为什么不将 htaccess 与基于 PHP/Web 的管理界面(例如 PHPAccess 结合使用)

Why not use htaccess for this in combination with a PHP / web based admin interface like PHPAccess

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文