當 WordPress 網站流量達到一定程度時,站長都會考慮開放註冊來留住訪客,但是開放註冊時各種問題就會接踵而至,尤其是在天朝這等河蟹環境下,一旦網站出現一些比較敏感的關鍵詞後就離去網監局喝茶的日子不遠了,有些時候喝茶是小事,極有可能網站的所有資料以及伺服器都會被 GOV 給連根拔起,所以做好敏感關鍵的遮蔽就非常重要了。下面小編來教大家如何禁止 WordPress 網站使用者在註冊時使用敏感關鍵。
首先在 functions.php 檔案中加入以下兩段程式碼:
function wxd_blacklist_check($str){
$moderation_keys = trim(get_option('moderation_keys'));
$blacklist_keys = trim(get_option('blacklist_keys'));
$keys = $moderation_keys ."
".$blacklist_keys;
$words = explode("
", $keys );
foreach ( (array) $words as $word) {
$word = trim($word);
if ( empty($word) )
continue;
$word = preg_quote($word, '#');
$pattern = "#$word#i";
if ( preg_match($pattern, $str) ) return true;
}
return false;
}
add_filter( 'sanitize_user', 'wxd_sanitize_user',3,3);
function wxd_sanitize_user($username, $raw_username, $strict){
if(wxd_blacklist_check($username)){
$username = '';
}
return $username;
}
然後在 WordPress 後臺 > 設定 > 討論,我們輸入 「評論稽核」 和 「評論黑名單」 關鍵字,就可以來遮蔽使用者使用敏感關鍵詞來註冊了。