昨晚在研究評論結構時,網站右鍵查看源代碼,無意間發現自己的管理員用戶名被暴露了…
圖1 評論中暴露登錄用戶名
圖2 用戶頁面中也暴露登錄用戶名
要徹底隱藏用戶名,目前需要走兩個步驟:
步驟1:將作者存檔鏈接中的用戶名更改為用戶ID
詳細方法可以參看大學之前的文章:https://www.wpdaxue.com/use-user-id-for-author-slug.html
龍笑天下網已經通過這個方法隱藏存檔鏈接中管理員用戶名,沒想到管理員用戶名還是以另一種方式暴露了… 不過還好,非常隱蔽~~然后查看了下其它幾個wordpress的博客,他們也全部中招了(話說,各位博主的管理員登錄用戶名真的好復雜?。。?!看來是 wordpress的通病了!大家趕緊自查下哦~所以看下步驟2。
注:雖然我們還可以將作者歸檔鏈接中的用戶名改為用戶昵稱,但是由于我們更多地使用中文作為昵稱,會導致鏈接地址可能出現一些問題,所以不推薦。
步驟2:去除 comment_class() 和body_class()輸出的用戶名
11月04日經過張戈的提醒和龍硯庭博主文章的提示,得到了一個基本完美的解決方案:也就是將comment_class()
函數里輸出的comment-author-test10這個class去掉,也將body_class()
函數里輸出的author-test10這個類似的class去掉。因為這個是通過functions.php來解決的,所以不用擔心wordpress程序升級的問題。方法是,將以下代碼加入functions.php中,即可完事!
12345678910111213 | /** *(全網獨家)如何正確的避免你的 WordPress 管理員登錄用戶名被暴露 - 龍笑天下 * http://www.ilxtx.com/further-hide-your-wordpress-admin-username.html * 說明:直接去掉函數 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()
過濾的結果分別是:
12345 | // comment_class()過濾后的結果如下,去掉了原有class里的comment-author-test10,請和上面的圖1比較class="comment byuser bypostauthor odd alt thread-odd thread-alt depth-1" // body_class()過濾后的結果如下,去掉了原有class里的author-test10和author-1,請和上面的圖2比較class="archive author logged-in" |
好了,到這里就OK啦!
新聞熱點
疑難解答
圖片精選