如何自定義 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 以限制對媒體文件的訪問