繁体   English   中英

使用htaccess拒绝通过浏览器访问目录文件

[英]Deny access to directory files via browser with htaccess

我想拒绝(从所有未登录的用户)访问浏览器中目录中的所有文件。

只有登录的用户可以访问该文件夹中的文件。 文件路径以登录的用户ID存储在数据库中,因此当用户登录时,他只能查看或下载他的文件。

所以我不希望其他人(没有登录)从浏览器访问文件夹和文件,其次,我希望用户只能查看文件夹中的文件。

我想,第二件事我可以用PHP中的一些条件检查,但对于第一个,谁能告诉我htaccess规则实现?

谢谢

对于.htaccess用户访问的部分,您可以在这里查看 .htaccess密码生成器

不要向他们展示存储文件的实际文件夹路径。

使用php文件获取可下载内容。

例如: - download.php?file = mydocument.doc

缺点:

  1. 可能会很慢
  2. 没有下载简历支持(我猜)

您可以使用.htaccess禁用默认目录浏览。

  • 打开您的.htacces文件

  • 寻找选项索引

  • 如果存在选项索引,请将其修改为选项 - 索引,或者将选项 - 索引添加为新行

    现在应该禁用目录浏览功能

有一篇文章,全面描述了Apache Web服务器的访问控制功能: http : //httpd.apache.org/docs/2.0/howto/auth.html

最简单的变体如下所示:

AuthType Basic
AuthName "Restricted Files"
AuthUserFile /usr/local/apache/passwd/passwords

顺便说一下,这部分:

只有登录的用户可以访问该文件夹中的文件。 文件路径以登录的用户ID存储在数据库中,因此当用户登录时,他只能查看或下载他的文件。

将需要为每个文件夹创建单独的密码文件,或者需要一些其他脚本。

这种方法存在一些已知问题:

  • 基本身份验证方案将密码以明文形式发送,如果您的站点可以通过HTTP(而非HTTPS)访问,则该方法不好。 还有Digest身份验证类型,但浏览器支持存在一些问题

  • 注销操作将需要关闭浏览器

一般来说,我建议:

  • Apache内置功能-用于简单的访问控制,而无需详细的用户特权/权限配置

  • 通过一些Web编程工具进行自定义访问控制 - 用于具有所谓的priveleges /权限配置的身份验证方案。 有许多Web开发框架,它们提供访问控制功能。

感谢您的答复,我之间发现了一个工作正常的代码段。 我在.htaccess文件中插入了以下行:

命令拒绝,允许
所有人都否认

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM