如何自定义 WordPress 以限制对媒体文件的访问

已发表: 2022-05-24

WordPress 是一个开源平台,在很多方面都很棒。 它的优点之一是您可以如何自定义它的任何方面以满足您自己的需求。 例如,在其默认状态下,WordPress 授予所有人访问媒体库(以及扩展,其上传文件夹)的权限。 因此,如果您希望 WordPress 限制对媒体文件的访问,则需要自定义平台。

有几种方法可以限制 WordPress 中的媒体访问。 首先,有手动方法。 在这里,您将从服务器访问 WordPress 文件并进行一些编码更改。

其次,您可以使用插件。 WordPress 拥有庞大的插件生态系统,您可以在其中找到扩展以增强其核心功能。 因此,插件也是在您需要的地方限制访问的好方法。

在本教程中,我们将向您展示如何通过多种方式限制对媒体文件的访问。 但在此之前,让我们先讨论一下为什么要这样做。

目录
  • 为什么要限制对 WordPress 中媒体文件的访问
  • 在 WordPress 中限制对媒体文件的访问的手动方法
  • 为什么您想要找到更好的解决方案来限制媒体库访问
  • 插件如何帮助您限制 WordPress 中的媒体库访问(4 个解决方案)
    • 1.下载监控
    • 2. 内容控制——用户访问限制插件
    • 3. 防止直接访问——保护 WordPress 文件
    • 4.高级访问管理器
  • 如何自定义 WordPress 以使用下载监视器限制对媒体文件的访问
    • 使用下载监视器
  • 下载 Monitor 用于限制内容的高级工具

为什么要限制对 WordPress 中媒体文件的访问

大多数网络专家都同意不受限制地访问任何在线内容是一个坏主意。 在某些情况下,您无法摆脱这一点——例如,您可以通过浏览器的工具访问现有每个网页的源代码。 但是,您不想放弃网站的某些元素; 您的媒体上传就是一个很好的例子。

如果您运行会员或订阅网站、使用“内容锁定器”插件或找到另一种方式在前端限制您的内容,则尤其如此。 这是因为这些类型的插件适用于内容而不是您的媒体。 因此,任何人都可以获取您的一个媒体文件的 URL,并与他人共享。 这是你想要阻止的事情。

您还想限制对媒体的访问还有其他原因:

  • 您可能会发现搜索引擎将您想要限制的媒体编入索引。 结果,更多的用户可以通过快速搜索找到这些文件。
  • 还有限制媒体访问的管理原因。 例如,您可能运行一个有多个用户的网站,并且授予每个人媒体库访问权限是不合适的。
  • 您可以通过为用户提供所需的最低权限来锁定您的网站以使其更安全。 在大多数情况下,这不包括对媒体文件的访问。

总体而言,您将希望停止对您的媒体(和其他)文件的某些访问,同时让其他人进入。有几种方法可以做到这一点,向 WordPress 添加一段代码就是其中之一。


在 WordPress 中限制对媒体文件的访问的手动方法

几乎 WordPress 中的所有任务都可以通过编码完成。 在这种情况下,如果您在 functions.php 文件中添加一个简短的片段,您可以限制对 WordPress 媒体文件的访问。 这是一个将“挂钩”到 WordPress 的核心代码并添加您想要的功能的文件。

但是,在执行此方法之前,您需要掌握一些技能和工具:

  • 首先,您需要知道如何通过安全文件传输协议 (SFTP) 访问您网站的服务器。
  • 您应该具有对服务器的管理员访问权限。
  • 您还需要一个合适的 SFTP 客户端,例如 FileZilla 或 Cyber​​duck。
  • 如果您不知道如何根据 WordPress 架构找到所需的文件,则需要学习这一点。
  • 您的编码技能也需要很熟练,因为您必须在 functions.php 文件中添加几行代码。

这个列表很长,并不是每个用户都想要(或能够)做的事情。 我们无法在此处向您展示完整的步骤,因为它超出了本文的范围。 但是,我们可以总结一下步骤:

  1. 首先,打开您的 SFTP 客户端,然后使用相关凭据登录。
  2. 接下来,浏览到您站点的目录,并查找 functions.php 文件。
  3. 使用记事本或 TextEdit 等文本编辑器或专用代码编辑器打开它。
  4. 添加一段代码并保存您的更改。

至于片段本身,这里是:

 // This snippet restricts access to WordPress' media to certain users . add_filter( 'ajax_query_attachments_args', 'user_show_attachments' ); function user_show_attachments( $query ) { $user_id = get_current_user_id(); if ( $user_id && !current_user_can('activate_plugins') && !current_user_can('edit_others_posts ') ) { $query['author'] = $user_id; } return $query; }

简而言之,此功能旨在查看用户是否可以激活插件并编辑不属于他们的帖子。 如果不能,他们也无法查看媒体和使用附件。

从表面上看,这是一个理想的解决方案。 但是,正如我们接下来将解释的那样,它不是最好的。


为什么您想要找到更好的解决方案来限制媒体库访问

虽然使用代码解决方案来解决问题在原则上是好的,但它并不总是最好的方法。 这是出于几个不同的原因:

  • 首先,您正在做类似于将功能“硬编码”到 WordPress 中的事情。 这意味着无论您在站点上安装的主题和插件如何,该功能都将始终存在。
  • 这不是问题,直到您了解现在有两个位置具有新功能:您的插件文件夹和您的 functions.php 文件。 如果您忘记了后者,将来可能会导致问题。
  • 您的编码可能会与另一个插件的代码发生冲突,这可能会导致错误和错误。
  • 它也不灵活,因为您必须以更大的灵活性、新功能等进行编码。

相比之下,插件是与 WordPress 集成的首选方式。 这是几乎所有用户使用额外功能的推荐方法。 接下来,我们将向您展示一些选项。


插件如何帮助您限制 WordPress 中的媒体库访问(4 个解决方案)

在本节中,我们将汇总四种不同的解决方案,以帮助您限制对媒体文件的访问。 但是,如果这是您已经了解的主题,您会发现我们不包括限制媒体库访问。 这是该任务的流行插件选项,但它不是我们列表的一部分。

这是因为它不再提供与当前版本的 WordPress 的兼容性。 因此,我们不能保证它会在您的系统上运行。 但是,此列表的其余部分都是最新的、最新的和功能齐全的。

1.下载监控

首先,我们有下载监视器插件。 上传到插件后,它可以帮助您限制媒体文件访问,但可以做更多事情。 事实上,这个插件可能是您在 WordPress 中更好地进行下载管理的门票。

下载监视器插件。
下载监视器

它提供了一整套特性、功能和工具,使添加和访问下载成为一种用户友好的体验:

  • 您可以提供不同版本的文件供下载——历史,按版本整理。
  • 您可以自定义下载界面的几乎任何方面。 如果您想将下载按钮与您网站的品牌相匹配,这是个好消息。
  • 您还可以通过插件和 WordPress 销售下载内容。 如果您梦想经营自己的下载商店,Download Monitor 可以实现。
  • 您可以使用 Advanced Access Manager 扩展在用户范围内限制对下载的访问。
  • 说到这一点,您可以像扩展 WordPress 一样通过高级扩展扩展下载管理器。 这将为您提供集成 Google Drive、获取电子邮件通知、添加内容锁定等的方法。

虽然您可以在 WordPress 插件目录中免费找到该插件,但您不会获得完整的下载管理器体验。 为了获得更多价值,您需要考虑高级订阅。 更高的层提供更多的功能,因此您需要比较它们以找出适合您的。

开始使用下载监视器!

2. 内容控制——用户访问限制插件

内容控制插件可让您限制对各种 WordPress 内容和媒体的访问。 但是,它不仅通过 WordPress 管理屏幕执行此操作,还通过短代码执行此操作。

内容控制 - 用户访问限制插件。
内容控制

对于一个完全免费的插件,它在后台提供了许多强大而灵活的功能:

  • 您可以根据用户角色或登录状态限制对用户的访问。 更重要的是,您可以限制对各种帖子、页面和媒体的访问。 除了全局内容之外,您还可以根据分类来限制访问。
  • 您可以向用户显示自定义消息,以通知他们无法访问某些文件,并提供完全自定义。
  • 根据用户的状态,您可以适当地显示或隐藏某些内容。

简码选项是一种限制访问的巧妙方法,并且有许多强大的参数可供您使用。 例如,您可以指定哪些用户角色可以查看内容、显示自定义消息等。 对于所有受限页面,您也可以应用自定义 CSS 类。 在设计和定制方面,这为您提供了充足的空间。

开始使用内容控制!

3. 防止直接访问——保护 WordPress 文件

防止直接访问插件实现了它的目标。 它不仅可以帮助您保护您的 WordPress 文件免受用户攻击,还可以保护您的 WordPress 文件免受搜索引擎和其他索引工具的攻击。

防止直接访问 - 保护 WordPress 文件插件。
防止直接访问

您直接从 WordPress 媒体库中使用此插件,它将保护您直接或通过帖子和页面中的界面上传的每个文件。 它还在盒子里提供了更多:

  • 只有管​​理员和文件上传者才能访问文件。 虽然这可能看起来有限制,但当您限制文件时,它可以减少出错的余地。
  • 您保护的每个文件都有一个唯一的私人下载链接,您可以与他人共享该链接。
  • 有一些方法可以阻止 IP 地址和限制搜索引擎索引。
  • 您还可以停止盗链并完全保护 WordPress 上传文件夹。

虽然核心插件是免费的,但您也可以升级到高级版本:PDA Gold。 这提供了更多功能,例如对您的文件进行进一步加密、一键保护完整文件夹的能力,以及与 LearnDash 和 WordPress 多站点功能等插件的集成。

开始使用防止直接访问!

4.高级访问管理器

Advanced Access Manager 插件与我们的同名扩展无关,但它在帮助您保护文件方面具有近乎可比的优势。

高级访问管理器插件。
高级访问管理器

该插件可让您精细控制谁可以访问您的文件、文件夹和媒体。 以下是您将在包装盒中获得的内容:

  • 您可以管理站点上所有用户角色的访问权限,甚至可以单独管理。 此外,您甚至可以控制访问者和未登录用户的访问权限。
  • 您可以为您的帖子、页面、自定义分类法、自定义帖子类型等定义访问权限。
  • 该插件为额外的开发提供了很大的空间,因为它提供了许多“钩子”、“过滤器”和自定义选项。 它还连接到 WordPress REST API,因此您可以通过熟悉的方式将附加功能集成到插件中。

虽然高级等级,但您可能不需要它们。 Advanced Access Manager 插件免费提供其所有核心功能,它是一个突出亮点的解决方案。

开始使用高级访问管理器!

如何自定义 WordPress 以使用下载监视器限制对媒体文件的访问

到目前为止,我们已经讨论了对 WordPress 媒体的全局限制访问。 但是,Download Monitor 提供了一种更好、更灵活的方式来保护您的文件并以更优化的方式管理它们。 一旦您将媒体文件上传到插件本身,它就可以让您利用此功能。

您至少需要安装免费版的下载监视器,但高级版将提供更多保护文件的范围。

使用下载监视器

安装并激活插件后,前往 WordPress 中的“下载”>“设置”>“常规”屏幕:

下载监视器的常规选项卡。
下载监视器设置

您可以在此处切换一些选项以帮助限制所有文件:

  • 防止客户端下载。 这可以阻止最终用户从浏览器中右键单击和下载图像——这对于阻止窃贼非常方便。
  • 包括在搜索中。 此选项不会让您的媒体成为内部搜索结果的一部分,这意味着大多数用户不会偶然发现单个文件。
  • 文件浏览器。 一些用户知道如何查看您网站的内部目录结构,包括您的媒体。 此选项阻止它发生。

从这里,您可以查看“访问”选项卡,了解与受限用户将看到的消息相关的选项,以及将 IP 地址和用户代理添加到阻止列表的方法:

下载监视器访问选项卡,显示“禁止访问”消息和阻止列表。
访问选项卡

默认情况下,Download Monitor 会保护您在 Apache 服务器上的上传文件夹,而无需您进行任何干预。 您将能够在杂项选项卡上看到这一点。 但是,如果您运行 Nginx 服务器,Download Monitor 会通知您并为您提供实现保护所需的代码:

下载监视器设置中的访问选项卡,显示帮助重新生成对上传文件夹的保护的代码。
为上传文件夹重新生成保护

这一切都在免费版本中提供,但如果您选择升级,手头还有更多。

下载 Monitor 用于限制内容的高级工具

您还需要查看其他两个选项卡,具体取决于您对网站的策略,以及您是否运行下载监视器的高级版本:

  • 内容锁定。 这提供了多种锁定内容的方法,方法是填写 Ninja Forms、Gravity Forms 和 Twitter 中的多种表单之一。
  • 外部托管。 这使您可以通过 Amazon S3 云服务器托管媒体。 它非常适合性能和安全性。

🔥 因此,Download Monitor 为您提供了几乎所有您需要的工具,不仅可以保护您的媒体文件,还可以以更好的方式管理它们。 它比任何专注于限制文件的手动方法或插件都高出一步,让您在 WordPress 网站上运行完整的下载管理系统而没有任何摩擦。

立即开始使用下载监视器!

总之

虽然 WordPress 在许多方面都是一个开放平台,但您可能不想共享的平台的一个方面是访问您的媒体文件。 对于您的站点而言,这有时不是最安全或最稳定的决定。

但是,有很多插件可以帮助您限制对 WordPress 中媒体文件的访问。 下载监视器是其中的佼佼者。 它包括大量用户权限和访问控制,不仅可以帮助您限制媒体,还可以限制 WordPress 网站上的几乎所有内容。

您将使用该插件将媒体文件上传到 WordPress,然后使用下载监视器功能集实现更好的安全性。 如果您需要 WordPress 的全功能下载管理工具,它是理想的解决方案

汤姆·兰金

Tom Rankin 是 WordPress、科技和小型企业的优质内容作家。 当他不把手指放在键盘上时,可以看到他拍照、写音乐、玩电脑游戏和以第三人称说话。

首页 » WordPress »如何自定义 WordPress 以限制对媒体文件的访问