2010-11-01 179 views
0

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

只有登录的用户才能访问该文件夹中的文件。文件路径以登录的用户标识存储在数据库中,这样当用户登录时,他只能查看或下载他的文件。

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

我想,第二件事我可以做一些条件检查在PHP中,但对于第一个,任何人都可以告诉我的htaccess规则来实现?

谢谢

回答

1

不显示它们存储文件的实际文件夹路径。

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

如: - ?的download.php文件= mydocument.doc

缺点:

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

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

  • 打开.htacces文件

  • 查找选项指标

  • 如果选择指数存在 修改为选项-Indexes或者添加 选项-Indexes作为新行

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

1

有关的.htaccess用户访问的一部分,你可以在htaccess的密码生成

+0

感谢您的解决方案...它运作良好,否认... – 2010-11-02 07:32:58

0

有文章,其中描述了彻底的Apache Web服务器的访问控制功能来看看herehttp://httpd.apache.org/docs/2.0/howto/auth.html

最简单的变体看起来方式如下:

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

顺便说一句,这部分:

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

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

有一些已知问题使用这种方法:

  • 基本身份验证方案发送密码为明文,这是不好的,如果你的网站是通过HTTP访问(不HTTPS)。还有摘要式身份验证类型,但也有一些问题,浏览器支持

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

一般情况下,我建议:

  • 阿帕奇内置功能 - 用于无详细用户权限/权限配置的简单访问控制

  • 自定义访问控制通过一些网络编程工具 - 用于具有假定的权限/权限配置的认证方案。有许多Web开发框架提供访问控制功能。

0

感谢您的回复,我发现了一个工作得很好的代码片段。 我插入以下行中我的.htaccess文件:

订单拒绝,允许
所有