給WordPress登錄添加算術(shù)驗(yàn)證碼機(jī)制
[重要通告]如您遇疑難雜癥,本站支持知識(shí)付費(fèi)業(yè)務(wù),掃右邊二維碼加博主微信,可節(jié)省您寶貴時(shí)間哦!
給WordPress網(wǎng)站登錄添加驗(yàn)證碼機(jī)制在一定程度上可以有效減少一些垃圾玩意的登錄騷擾,wordpress也有插件,本著少裝一個(gè)插件為好的原則,還是不要裝,
用以下代碼即可實(shí)現(xiàn),沒(méi)必要非要插件,插件多了,就太臃腫了;
使用方法:把以下代碼添加到當(dāng)前主題模板函數(shù)functions.php文件里即可。
//后臺(tái)登陸數(shù)學(xué)驗(yàn)證碼
function rhymo_add_login_fields() {
//獲取兩個(gè)隨機(jī)數(shù), 范圍0~9
$num1=rand(0,9);
$num2=rand(0,9);
//最終網(wǎng)頁(yè)中的具體內(nèi)容
echo "<p><label for='math' class='small'>驗(yàn)證碼</label><br /> <input type='text' name='sum' placeholder='$num1 + $num2 = ?' class='input' value='' size='25' tabindex='4'>"
."<input type='hidden' name='num1' value='$num1'>"
."<input type='hidden' name='num2' value='$num2'></p>";
}
add_action('login_form','rhymo_add_login_fields');
function login_val() {
$sum=$_POST['sum'];//用戶提交的計(jì)算結(jié)果
switch($sum){
//得到正確的計(jì)算結(jié)果則直接跳出
case $_POST['num1']+$_POST['num2']:break;
//未填寫結(jié)果時(shí)的錯(cuò)誤訊息
case null:wp_die('錯(cuò)誤: 請(qǐng)輸入驗(yàn)證碼.');break;
//計(jì)算錯(cuò)誤時(shí)的錯(cuò)誤訊息
default:wp_die('錯(cuò)誤: 驗(yàn)證碼錯(cuò)誤,請(qǐng)重試.');
}
}
add_action('login_form_login','login_val');
教程到此結(jié)束,至于圖,就不設(shè)置了!
問(wèn)題未解決?付費(fèi)解決問(wèn)題加Q或微信 2589053300 (即Q號(hào)又微信號(hào))右上方掃一掃可加博主微信
所寫所說(shuō),是心之所感,思之所悟,行之所得;文當(dāng)無(wú)敷衍,落筆求簡(jiǎn)潔。 以所舍,求所獲;有所依,方所成!