[英]Deny access to directory files via browser with htaccess
我想拒绝(从所有未登录的用户)访问浏览器中目录中的所有文件。
只有登录的用户可以访问该文件夹中的文件。 文件路径以登录的用户ID存储在数据库中,因此当用户登录时,他只能查看或下载他的文件。
所以我不希望其他人(没有登录)从浏览器访问文件夹和文件,其次,我希望用户只能查看文件夹中的文件。
我想,第二件事我可以用PHP中的一些条件检查,但对于第一个,谁能告诉我htaccess规则实现?
谢谢
对于.htaccess用户访问的部分,您可以在这里查看 .htaccess密码生成器
不要向他们展示存储文件的实际文件夹路径。
使用php文件获取可下载内容。
例如: - download.php?file = mydocument.doc
缺点:
您可以使用.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.