如果wordpress只限個人使用且不提供他人註冊,建議變更wp-login.php的名稱,讓其它人找不到登入畫面,以加強wordpress安全性,但並不是直接重新命名就能做到,方法如下所述,適用至wordpress2.7:
以變更至wp-hello-admin.php為例(wordpress官方討論)
(1) 開啟並編輯以下檔案內容,取代所有的wp-login.php文字至wp-hello-admin.php:wp-login.php
wp-admin/admin-header.php(wordpress2.7不用)
wp-includes/general-template.php
wp-includes/pluggable.php
此例圖為general-template.php的一部份
(2) 修改pluggable.php,註解掉$login_url(第685行)並設定新的轉址(我的是404.html,可按自己需求修改)
(3) 修改wp-login.php登入成功後的頁面,將admin_url加入index.php參數(第418行)
(4) 重新命名wp-login.php為wp-hello-admin.php,完成
點看看這些連結,找不到登入頁面囉!
http://andy.diimii.com/wp-admin/
http://andy.diimii.com/wp-login.php
註1:wp-hello-admin.php是舉例用,不是我的
註2:上述例圖及行數皆為wordpress2.6.5版,其它版本修改方式一樣,找到相對應的文字即可
註3:根目錄wp-register.php要不要刪都可以,反正不起作用
註4:由於這些修改有變動到核心檔案,每次wordpress升級後會被新檔覆寫,記得要再重新操作一次
後記1:暨wordpress wp-admin保護失敗三步曲後,終於成功往前第一步
後記2:AskApache Password Protect搞了一陣子後放棄,仍無法使用
其它修改:
1. 在佈景主題的functions.php裡,加入
remove_action('wp_head', 'wp_generator');
來移除wordpress的版本資訊
2. 在根目錄處的.htaccess加上Options All -Indexes
DirectoryIndex index.php /404.html
禁止目錄索引,並導至首頁的404頁面
3. 清空佈景主題裡的404.php內容,只寫上<?php include_once(get_option('home').'/404.html'); ?>
用以統一404的顯示內容