如何防止从网站外部直接URL访问文件?

此解决方案将阻止直接访问大多数Web服务器上的列表中文件的URL。

注意 – 在 Apache Web 服务器上,只要您限制对列表的访问,简单文件列表就会自动为您执行此操作。

锁定文件

首先,创建一个名为 htaccess.txt

接下来,添加以下内容:

# File Access Restricter

RewriteEngine On

# 1) If NOT the current host
RewriteCond %{HTTP_HOST}@@%{HTTP_REFERER} !^([^@]*)@@https?://\1/.*

# 2) Deny access to these types
RewriteRule \.(gif|jpg|jpeg|png|tif|pdf|wav|wmv|wma|avi|mov|mp4|m4v|mp3|zip?)$ - [F]

在最后一行中,您可以更改要限制的文件类型。

接下来,将此文件放入您的文件所在的文件夹中。

将文件重命名为: 的。htaccess
请注意,这将使其成为隐藏文件。 如果消失,不要惊慌。 打开“显示隐藏的文件”以查看它。

现在刷新您的缓存并尝试直接访问文件。 您应该会得到一个“禁止的错误”,但是您应该能够从您站点的页面上打开和下载文件。

注意:这将破坏任何指向您文件的传入链接,这些链接可能位于网页上或电子邮件中,因为它们是直接链接。

重要:如果您试图保护自己的 WordPress 用户的访问权限,则可以轻松绕过此解决方案。 可以创建帖子或页面的用户可以从他们的页面创建指向文件的链接,然后通过单击链接访问该文件。

关于“如何防止从我的网站外部直接访问我的文件的URL的17条想法”

  1. 这不会阻止对文件的访问,期间! 我仍然可以从任何浏览器链接到该文件并查看它。

    回复
    • 请记住,这只适用于 Apache 服务器。 如果实施得当,它将发挥作用。 如果您有不同的服务器类型,则需要专门配置该服务器。

      回复
  2. 嗨,

    funktioniert 超级 ;-)。
    现在您可以自动上传 .htaccess automatisch in den jeweiligen Upload-Ordner。
    Kann man die .htaccess so anpassen, dass alle Unterordner mit einbezogen werden?

    丹克和格鲁斯

    回复
  3. 我正在使用 xampp 来运行 apache 服务器
    因此我不得不编辑 httpd.conf

    删除评论
    # Indexes 包括 FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews

    并将编辑行更改为
    选项包括 FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews

    回复
  4. # 简单文件列表访问限制器

    RewriteEngine On

    # 1) 如果不是当前主机
    RewriteCond %{HTTP_HOST}@@%{HTTP_REFERER} !^([^@]*)@@https?://1/.*

    # 2) 拒绝访问这些类型
    RewriteRule .(gif|jpg|jpeg|png|tif|pdf|wav|wmv|wma|avi|mov|mp4|m4v|mp3|zip?)$ – [F]

    não teria que ter um lugar onde colocar 一个 URL 做 noso 网站 pra funcionar?

    回复
    • 不是必须有一个地方可以放置我们网站的 URL 吗?

      不可以。此规则将适用于到达该文件夹的任何人。 域名无所谓。

      瑙。 Esta regra se aplica a qualquer pessoa que acessar a Pasta。 O nome de domínio não importa。

      回复
    • 这就像锁上你的门。 如果有人真的想进去,他们会的。 现在是指出您永远不希望在可公开访问的 Web 服务器上发布任何敏感文档的好时机。

      回复

发表评论

本网站使用Akismet来减少垃圾邮件。 了解您的数据如何处理.