我想拒绝(从所有未登录的用户)访问浏览器中目录中的所有文件。
只有登录用户才能访问该文件夹中的文件。文件路径以登录的用户ID存储在数据库中,因此当用户登录时,他只能查看或下载他的文件。
所以我不希望其他人(没有登录)从浏览器访问文件夹和文件,其次,我希望用户只能查看文件夹中的文件。
我认为,我可以用php中的一些条件检查做第二件事,但对于第一件事,有人能告诉我实现的htaccess规则吗?
谢谢
答案 0 :(得分:1)
对于.htaccess用户访问的部分,您可以在.htaccess密码生成器上查看here
答案 1 :(得分:1)
不要向他们展示存储文件的实际文件夹路径。
使用php文件获取可下载内容。
例如: - download.php?file = mydocument.doc
缺点:
答案 2 :(得分:0)
您可以使用.htaccess禁用默认目录浏览。
打开.htacces文件
查找选项索引
如果存在选项索引,请修改它 选项 - 索引或添加 选项 - 索引为新行
目前应禁用目录浏览功能
答案 3 :(得分:0)
这篇文章详细描述了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开发框架,它们提供访问控制功能。
答案 4 :(得分:0)
感谢您的回复,我找到了一个工作正常的代码片段。 我在.htaccess文件中插入了以下行:
命令拒绝,允许
拒绝所有