【问题标题】:PHP - Deny folder access without direct link to file?PHP - 在没有直接链接到文件的情况下拒绝文件夹访问?
【发布时间】:2012-07-25 12:38:23
【问题描述】:

我正在创建一个文件托管网站。我不希望人们访问该目录

public_html/quick/files

除非他们有上传文件的直接下载链接。我该怎么办?

对于其他人:换句话说,拒绝对所有文件进行索引。

【问题讨论】:

  • 是否意味着允许他们访问文件但不浏览目录?
  • 是的!!!! (!是为了满足最低文本要求
  • 下载链接是什么?它们是直接指向目标文件,还是指向从磁盘读取文件并将其流式传输到浏览器的脚本?
  • 直接下载链接。该目录受 .htaccess 保护

标签: php apache .htaccess


【解决方案1】:

public_html文件夹中创建一个名为.htaccess的文件,内容如下:

Options -Indexes

【讨论】:

  • 用 .htaccess 将不需要链接目录中的所有文件?
  • 这个 .htaccess 文件将告诉服务器禁用目录列表。但其他一切都应该可以正常工作。
  • 我发现屏蔽了同一个块的文件的目录也一样。
  • 不。有了这个 .htaccess 文件,完整的链接,我的意思是指向现有文件的链接可以工作,但用户不会看到目录中的文件列表。
  • 对于每个新文件,您必须添加 htaccess?可以举个例子吗?
【解决方案2】:

在目录中创建一个空白 index.html 文件。

如果认为有必要,创建一个指向错误页面的重定向。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Your Page Title</title>
<meta http-equiv="REFRESH" content="0;url=<URL_ERROR_PAGE>"></HEAD>
<BODY>
    Optional page text here.
</BODY>
</HTML>

【讨论】:

  • 使用 .htaccess 通过添加 Options -Indexes 来禁用目录索引可能会更好。
  • 是的!我会删除我现在确认这一点的评论
猜你喜欢
  • 2014-08-28
  • 2015-07-10
  • 1970-01-01
  • 2015-01-02
  • 1970-01-01
  • 2013-06-28
  • 1970-01-01
  • 2012-03-06
  • 2013-05-26
相关资源
最近更新 更多