昨日小編與 2zzt 的大叔在群中閒聊時發現很多 WordPress 站長都很不注意網站的資訊安全,各種漏洞、各種資訊洩露。接下來小編就來教大家為自己的 WordPress 修復一些常見的 bug,預防駭客。

首先是 WordPress 的全版本通殺爆絕對路徑漏洞:

1 、/wp-includes/registration-functions.php

2 、/wp-includes/user.php

3 、/wp-admin/admin-functions.php

4 、/wp-admin/upgrade-functions.php

只要直接訪問以上檔案或者訪問當前 WordPress 網站的主題目錄下任意 php 檔案都會爆出網站的絕對路徑,就連 WordPress 官方的主題 twentytwelve 也不例外。

解決方法一、在以上檔案的的頭部 <?php 後加入:

error_reporting(0);

解決方法二、直接修改 php.ini 遮蔽 php 報錯。 (參考:WordPress 防黑教程之預防全版本通殺爆絕對路徑漏洞)

保護 WordPress 後臺不被直接訪問,防止直接 post 登入 WordPress 後臺。

早在 v7v3 剛上線的時候小編就寫過一篇隱藏 WordPress 後臺的文章 《WordPress 防黑教程之保護登入檔案 wp-login.php 》此方法只是使用 $_GET 對 wp-login.php 做一個訪問的障眼法而已。其實仔細分析下 WordPress 登入頁面程式碼不難發現 WordPress 是以 post 的方式來提交登陸引數的,如下圖:

也就是說我們可以不用訪問 wp-login.php 檔案,而是直接透過 post 遞交引數給 wp-login.php 來直接登入網站後臺,那麼之前小編所提到的 $_GET 對 wp-login.php 做的訪問限制就形同虛設,那麼該如何來有效的防止 WordPress 的登入檔案不被直接訪問而且不能以常規的 post 方式來登入網站後臺呢?

第一步:我們登入後臺進入到常規選項:在 WordPress 地址 (URL) 這一欄加上/v7v3 如下圖:

第二步:我們在網站根目錄下新建一個名為 v7v3 的目錄,然後將除了 index.php 、 robots.txt 以及.htaccess 之外的所有網站檔案移至 v7v3 目錄 (登入變為 weixiaoduo.com/v7v3/wp-login.php) 。

第三步:開啟 index.php 並將

require('./wp-blog-header.php');

修改為:

require('./v7v3/wp-blog-header.php');

這樣一來 WordPress 的後臺地址以及登入 post 提交引數的地址都隨著 WordPress 系統檔案的移動而改變了,再配合小編寫的 $_GET 訪問限制方法就可以達到很好的防黑效果。

(PS:這只是前半篇文章,請大家期待後半篇文章!) 《 WordPress 網站終極防黑手冊,全方位保護網站安全 (二) 》