WordPress 最佳實踐的終極 PHP 安全檢查表

已發表: 2017-11-03

米爾薩德 / stock.adobe.com

您的網站安全流程可能會解決如何在伺服器層級保護您的 WordPress 網站以及如何在檔案層級保護您的網站。 但是您需要保護您的程式語言嗎? 您需要遵循 PHP 安全最佳實務嗎? PHP 需要保護嗎?

是的,是的,是的。

如果您執行 WordPress 網站,但不專注於保護 PHP 程式碼的安全,則可能容易發生重大事件。

哦,不,天啊,朋友們的 GIF

使用 PHP 開發 WordPress 網站有許多好處:

  • 對於新手來說它很容易使用,對於程式專家來說也足夠靈活。
  • 它適用於所有平台(例如 Linux、Windows 等)。
  • 它對 WordPress 也非常友好。
  • 它可以提高網站速度。

也就是說,PHP 並非沒有缺陷。 PHP 程式設計的應用程式可能面臨以下風險:

  • SQL注入
  • 跨站腳本
  • 暴露的登入憑證
  • 會話劫持
  • 欺騙性表格
  • 以及其他令人討厭的安全風險

相關:如何檢查 WordPress 網站的 PHP 版本(以及升級相容性)

顯然,這並不意味著您會放棄使用 PHP 來編寫 WordPress 網站的願望。 它是一種高度可靠且靈活的語言,如果保護得當,它可以成為一個非常強大的工具,也有助於簡化您的流程。

以下 PHP 安全檢查表將教您所需了解的所有 PHP 安全最佳實踐,以確保您的程式語言和 PHP 建立的應用程式的安全。

我們 WP Buffs 的團隊幫助網站所有者、代理商合作夥伴和自由工作者合作夥伴遵循 PHP 安全最佳實踐。 無論您需要我們管理 1 個網站還是支援 1000 個客戶站點,我們都會為您提供支援。

WordPress 的終極 PHP 安全檢查表

想要確保您的 WordPress 網站免受駭客攻擊嗎? 然後,您需要確保用於建立它的所有工具(包括您的程式語言)都遵循安全最佳實踐。 特別是當它涉及 PHP 時,您需要密切注意以下幾點:

  • PHP 程式設計最佳實踐
  • 對網站後端的存取限制
  • 使用者帳戶管理和監控
  • 資料的驗證、清理與轉義
  • 用戶提交資料及上傳監控
  • 虛擬主機可靠性

如果您想了解有關上述 PHP 安全檢查點以及如何在 WordPress 開發中使用它們的更多信息,請繼續閱讀終極 PHP 安全檢查表

PHP 最佳實踐

  • 使用 PHP7 :始終使用最新版本的 PHP。 這同樣適用於您使用的任何程式庫和第三方應用程式。
  • 隱藏版本:您目前使用的 PHP 版本可以讓駭客知道您的網站有哪些類型的漏洞,因此請使用 hide_php 在標頭中關閉此設定。
  • 重新命名 phpinfo :有關安裝的其他資訊也需要隱藏,因此請務必變更 phpinfo.php 檔案名稱。
  • 變更錯誤代碼:變更在網站連線失敗時向使用者顯示的預設錯誤訊息。 這將阻止他們看到有關您的 IP 或檔案路徑的資訊。 相反,只需在您這邊記錄這些錯誤即可。
  • 限制系統指令:普遍的共識是不應在 PHP 中使用 shell 函數。 但是,如果必須,請不要包含使用者資料。

保護後端

  • 使用 SFTP :在後端傳輸檔案時,請務必使用 SFTP。
  • 限制對目錄的存取:更改 PHP 應用程式的預設目錄名稱。
  • 配置會話路徑:如果您的網站使用共用託管,則伺服器上的其他使用者可能能夠看到您的會話資料。 您可以透過在根目錄下儲存新的會話路徑來停止此操作。
  • 建立單獨的管理員:如果您在一台伺服器上執行多個基於 PHP 的網站,請確保為每個網站使用具有完全不同的登入憑證的單獨管理員。 這將防止跨站點感染。
  • 將目錄設定為唯讀:透過將其設定為唯讀來保護您的可透過 Web 存取的目錄。
  • 將敏感檔案儲存在目錄之外:敏感應用程式檔案(如設定檔)需要放置到不可透過 Web 存取的目錄中。 然後您可以使用 PHP 腳本路由它們。

保護使用者資訊

  • 加密所有密碼:這一點很明顯,但請確保全面應用它——適用於您的密碼以及所有登入使用者。
  • 安全會話:透過建立複雜的會話 ID 來防止會話劫持。 您也可以為每個 URL 新增特殊標記。
  • 銷毀舊會話:當某人登出或他們的存取權限發生變更時,請務必從其會話中刪除 cookie 並強制使用新的會話 ID。
  • 驗證新使用者:始終驗證新使用者的身份並授予他們相應的存取權限。 如果他們嘗試造訪受限頁面,這一點尤其重要。
  • 使用限制:應使用密碼限制來阻止過多的失敗登入。

驗證使用者的輸入和輸出

  • 驗證和清理輸入:使用者(已知或未知)透過您的網站發送的任何資料、文件、URL、嵌入內容、CSS 或 HTML 都需要進行審查和清理。 這意味著只允許輸入您期望收到的資料(例如使用者名稱的使用者名稱、電子郵件地址的電子郵件地址等)。例如單引號在您的雷達上,因為它們可能表示有人試圖將惡意程式碼潛入您的網站
  • 轉義輸出:在將任何使用者資料或檔案發佈到您的網站之前,請確保它們也已被轉義,以防止潛在危險的字元和程式碼通過(例如單引號或 <script>)。
  • 限制 POST 資料:如果駭客想要使用大量資料攻擊您的網站,您可以透過設定可以發送的 POST 資料量來阻止這種情況。 您也可以限制輸入時間。
  • 停用 Register_Globals :在網站表單中可以提交的資訊類型絕對不應該有餘地。 不幸的是,Register_globals 為駭客提供了這個機會。
  • 停用 Magic_Quotes : Magic_quotes 本身不會損害您的網站,但使用它來轉義輸出資料的人可能會無意中引入漏洞。

監控上傳

  • 禁用文件上傳:這可能並不總是可行。 但如果您不需要從使用者接收文件或數據,請刪除此功能。
  • 驗證上傳的文件:如果您確實需要允許使用者將文件上傳到您的網站,則需要分析文件內容是否有害注入。 作為快捷方式,您可以以不同的格式重新儲存檔案。 如果它仍然有效,那麼出現問題的可能性就較小。
  • 使用病毒掃描程式:如果您的網站接受大量上傳的文件,您將需要安裝病毒掃描程式。

使用安全虛擬主機

  • 使用可靠的主機:無論您為保護網站、檔案、登入區域或程式語言投入了多少工作,安全性都需要從託管層級開始。 這就是為什麼您必須與可靠的網站主機合作,該主機優先考慮安全性並專門為 PHP7 提供支援。
  • 取得 CDN:減少伺服器層級安全威脅的另一種方法是取得內容傳遞網路 (CDN)。 雖然這些通常與提高全球網站的效能最相關,但 CDN 還提供了額外的保護層。
  • 取得 SSL 憑證:無論您是否使用 PHP 編程,這都是最佳實踐。 SSL 憑證在您的伺服器和訪客的瀏覽器之間新增了額外的加密層。

雖然上述每一點確實有效,但這一點值得強調,因為您所依賴的網站託管的品質最終可能決定或破壞您網站的安全策略。

由於通常很難辨別出好壞,尤其是在尋找像 PHP7 支援這樣具體的東西時,我們建議您從 WP Engine 和 Kinsta 等網站主機開始。

相關:透過 WP Engine 和 Kinsta 完全託管 WordPress

WP Engine 是一家託管 WordPress 託管供應商,其每個託管計劃中都包含 PHP7 支援。 此外,WP Engine 定期在其部落格上處理 PHP7 主題,並對其 PHP 相容性檢查器外掛程式進行特別宣傳。 說這家公司致力於 PHP7 用戶支援是輕描淡寫的。

Kinsta 是另一家託管 WordPress 託管公司,使用 PHP7 託管其所有客戶網站。 這是為了確保全面的高性能和速度。 Kinsta 也為使用者提供將 PHP 引擎更新到最新 PHP 版本的能力。

當然,WP Buffs 的完全託管 WordPress 託管也值得考慮。 WP Buffs 透過保持其伺服器和 PHP 版本保持最新和最好的狀態,始終保持領先地位,因此您永遠不必擔心自己管理這些升級(這是外包 WordPress 管理的樂趣之一)給別人,對吧?

包起來

在建立 WordPress 網站時,安全性始終是首要考慮的問題。 這就是為什麼您使用值得信賴的外掛程式和主題並始終保持核心更新以及其他安全最佳實踐的原因。 PHP 也不例外。 像處理其他 WordPress 工具一樣處理它:保持最新並始終遵守安全最佳實踐,這樣您(和您的網站)就可以在晚上睡得更香。

想提供回饋或加入對話嗎?在 Twitter 上新增您的評論。

保存保存