昨晚在研究評(píng)論結(jié)構(gòu)時(shí),網(wǎng)站右鍵查看源代碼,無(wú)意間發(fā)現(xiàn)自己的管理員用戶名被暴露了…

圖1 評(píng)論中暴露登錄用戶名

圖2 用戶頁(yè)面中也暴露登錄用戶名
要徹底隱藏用戶名,目前需要走兩個(gè)步驟:
步驟1:將作者存檔鏈接中的用戶名更改為用戶ID
詳細(xì)方法可以參看大學(xué)之前的文章:http://www.ydqwiac.cn/use-user-id-for-author-slug.html
龍笑天下網(wǎng)已經(jīng)通過(guò)這個(gè)方法隱藏存檔鏈接中管理員用戶名,沒(méi)想到管理員用戶名還是以另一種方式暴露了… 不過(guò)還好,非常隱蔽~~然后查看了下其它幾個(gè)wordpress的博客,他們也全部中招了(話說(shuō),各位博主的管理員登錄用戶名真的好復(fù)雜啊!)!看來(lái)是 wordpress的通病了!大家趕緊自查下哦~所以看下步驟2。
注:雖然我們還可以將作者歸檔鏈接中的用戶名改為用戶昵稱,但是由于我們更多地使用中文作為昵稱,會(huì)導(dǎo)致鏈接地址可能出現(xiàn)一些問(wèn)題,所以不推薦。
步驟2:去除 comment_class() 和body_class()輸出的用戶名
11月04日經(jīng)過(guò)張戈的提醒和龍硯庭博主文章的提示,得到了一個(gè)基本完美的解決方案:也就是將comment_class()函數(shù)里輸出的comment-author-test10這個(gè)class去掉,也將body_class()函數(shù)里輸出的author-test10這個(gè)類似的class去掉。因?yàn)檫@個(gè)是通過(guò)functions.php來(lái)解決的,所以不用擔(dān)心wordpress程序升級(jí)的問(wèn)題。方法是,將以下代碼加入functions.php中,即可完事!
/**
*(全網(wǎng)獨(dú)家)如何正確的避免你的 WordPress 管理員登錄用戶名被暴露 - 龍笑天下
* http://www.ilxtx.com/further-hide-your-wordpress-admin-username.html
* 說(shuō)明:直接去掉函數(shù) comment_class() 和 body_class() 中輸出的 "comment-author-" 和 "author-"
*/
function lxtx_comment_body_class($content){
$pattern = "/(.*?)([^>]*)author-([^>]*)(.*?)/i";
$replacement = '$1$4';
$content = preg_replace($pattern, $replacement, $content);
return $content;
}
add_filter('comment_class', 'lxtx_comment_body_class');
add_filter('body_class', 'lxtx_comment_body_class');
comment_class()和body_class()過(guò)濾的結(jié)果分別是:
// comment_class()過(guò)濾后的結(jié)果如下,去掉了原有class里的comment-author-test10,請(qǐng)和上面的圖1比較
class="comment byuser bypostauthor odd alt thread-odd thread-alt depth-1"
// body_class()過(guò)濾后的結(jié)果如下,去掉了原有class里的author-test10和author-1,請(qǐng)和上面的圖2比較
class="archive author logged-in"
好了,到這里就OK啦!
原文:http://www.ilxtx.com/further-hide-your-wordpress-admin-username.html






哈哈,自己來(lái)坐個(gè)沙發(fā)~~