給WordPress網(wǎng)站登錄接入騰訊防水墻(騰訊驗(yàn)證碼)驗(yàn)證功能限制垃圾信息

[重要通告]如您遇疑難雜癥,本站支持知識(shí)付費(fèi)業(yè)務(wù),掃右邊二維碼加博主微信,可節(jié)省您寶貴時(shí)間哦!

wordpress現(xiàn)在如果沒有啥限制或者防止措施,你會(huì)發(fā)現(xiàn)依然每天會(huì)有很多的垃圾信息,甚至還有惡意登陸信息,出現(xiàn)這樣的辦法,站內(nèi)也寫過文章,關(guān)于限制的,?wordpress使用代碼屏蔽討厭的垃圾評(píng)論的方式方法? 其實(shí)這樣很是有效,但這不是還是希望正規(guī)一點(diǎn)嘛,那就有了騰訊的防水墻,不過騰訊防水墻現(xiàn)在變成了驗(yàn)證碼;

WordPress網(wǎng)站登錄接入騰訊驗(yàn)證碼教程

申請(qǐng)地址:

https://console.cloud.tencent.com/captcha

操作步驟:

1、申請(qǐng)賬號(hào)并登陸

2、在APPID列表中添加“新建驗(yàn)證”,驗(yàn)證名稱隨意,域名是你自己的域名,場(chǎng)景根據(jù)實(shí)際情況選擇,我選擇的賬號(hào)場(chǎng)景,但是依然可以在評(píng)論場(chǎng)景使用。

3、確定后點(diǎn)擊右側(cè)的“查看詳情”,基礎(chǔ)配置

4、將申請(qǐng)得到的APPID和APP Secret Key復(fù)制到WordPress中,勾選評(píng)論開啟驗(yàn)證。

申請(qǐng)完了就要接入代碼;

不多啰嗦,直接上碼,看備注修改自己的 App ID 和 App Secret Key

<?php
/**
* WordPress 接入騰訊防水墻,給網(wǎng)站登錄加上驗(yàn)證功能
* 原文地址:http://madamerex.com/jsjh/technology/11257.html
* 老梁博客
*/

function add_login_head() {
echo '<script src="https://ssl.captcha.qq.com/TCaptcha.js"></script>';
echo '<style type="text/css">.login_button {line-height:38px;border-radius:3px;cursor:pointer;color:#555;background:#eee;border:2px solid #a5a5a5;font-size:14px;margin-bottom:10px;text-align:center;transition:.5s;}.login_button:hover{color:#fff;background:#444;border-color:#444;}</style>';
}
function add_captcha_body(){ ?>
<input type="hidden" id="wp007_tcaptcha" name="tcaptcha_007" value="" />
<input type="hidden" id="wp007_ticket" name="syz_ticket" value="" />
<input type="hidden" id="wp007_randstr" name="syz_randstr" value="" />
<!-- 修改下面的 data-appid 值 -->
<div id="TencentCaptcha" data-appid="App ID" data-cbfn="callback" class="login_button">驗(yàn)證</div>
<script>
window.callback = function(res){
if(res.ret === 0){
var but = document.getElementById("TencentCaptcha");
document.getElementById("wp007_ticket").value = res.ticket;
document.getElementById("wp007_randstr").value = res.randstr;
document.getElementById("wp007_tcaptcha").value = 1;
but.style.cssText = "color:#fff;background:#4fb845;border-color:#4fb845;pointer-events:none";
but.innerHTML = "驗(yàn)證成功";
}
}
</script>
<?php
}

/**
* 處理登錄二次驗(yàn)證
*/
function validate_tcaptcha_login($user) {
$slide=$_POST['tcaptcha_007'];
if($slide == ''){
return new WP_Error('broke', __("請(qǐng)先進(jìn)行真人驗(yàn)證?。?!"));
}
else{
$result = validate_login($_POST['syz_ticket'],$_POST['syz_randstr']);
if ($result['result']) {
return $user;
} else{
return new WP_Error('broke', $result['message']);
}
}

}

/**
* 請(qǐng)求服務(wù)器驗(yàn)證
*/
function validate_login($Ticket,$Randstr){
$AppSecretKey = "App Secret Key"; //修改App Secret Key
$appid = "App ID"; //修改App ID
$UserIP = $_SERVER["REMOTE_ADDR"];

$url = "https://ssl.captcha.qq.com/ticket/verify";
$params = array(
"aid" => $appid,
"AppSecretKey" => $AppSecretKey,
"Ticket" => $Ticket,
"Randstr" => $Randstr,
"UserIP" => $UserIP
);
$paramstring = http_build_query($params);
$content = txcurl($url,$paramstring);
$result = json_decode($content,true);
if($result){
if($result['response'] == 1){
return array(
'result'=>1,
'message' => ''
);
}else{
return array(
'result'=>0,
'message' => $result['err_msg']
);
}
}else{
return array(
'result'=>0,
'message' => '請(qǐng)求失敗,請(qǐng)?jiān)僭囈淮危?
);
}
}

?

add_action('login_head', 'add_login_head');
add_action('login_form','add_captcha_body');
add_filter('wp_authenticate_user', 'validate_tcaptcha_login',100,1);

/**
* 請(qǐng)求接口返回內(nèi)容
* @param string $url [請(qǐng)求的URL地址]
* @param string $params [請(qǐng)求的參數(shù)]
* @param int $ipost [是否采用POST形式]
* @return string
*/
function txcurl($url,$params=false,$ispost=0){
$httpInfo = array();
$ch = curl_init();

curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
curl_setopt( $ch, CURLOPT_USERAGENT , 'JuheData' );
curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );
curl_setopt( $ch, CURLOPT_TIMEOUT , 60);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
if( $ispost )
{
curl_setopt( $ch , CURLOPT_POST , true );
curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );
curl_setopt( $ch , CURLOPT_URL , $url );
}
else
{
if($params){
curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );
}else{
curl_setopt( $ch , CURLOPT_URL , $url);
}
}
$response = curl_exec( $ch );
if ($response === FALSE) {
//echo "cURL Error: " . curl_error($ch);
return false;
}
$httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );
$httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );
curl_close( $ch );
return $response;
}

將上面代碼保存為新的文件 qq-captcha.php 上傳到主題目錄,然后在主題 functions.php 文件里添加require get_template_directory() . '/qq-captcha.php';引入就可以?;蛘咧苯影焉厦娲a復(fù)制到 functions.php 文件里,方法任選其一即可;

來看看效果~~

問題未解決?付費(fèi)解決問題加Q或微信 2589053300 (即Q號(hào)又微信號(hào))右上方掃一掃可加博主微信

所寫所說,是心之所感,思之所悟,行之所得;文當(dāng)無敷衍,落筆求簡(jiǎn)潔。 以所舍,求所獲;有所依,方所成!

支付寶贊助
微信贊助

免責(zé)聲明,若由于商用引起版權(quán)糾紛,一切責(zé)任均由使用者承擔(dān)。

您必須遵守我們的協(xié)議,如您下載該資源,行為將被視為對(duì)《免責(zé)聲明》全部?jī)?nèi)容的認(rèn)可->聯(lián)系老梁投訴資源
LaoLiang.Net部分資源來自互聯(lián)網(wǎng)收集,僅供用于學(xué)習(xí)和交流,請(qǐng)勿用于商業(yè)用途。如有侵權(quán)、不妥之處,請(qǐng)聯(lián)系站長(zhǎng)并出示版權(quán)證明以便刪除。 敬請(qǐng)諒解! 侵權(quán)刪帖/違法舉報(bào)/投稿等事物聯(lián)系郵箱:service@laoliang.net
意在交流學(xué)習(xí),歡迎贊賞評(píng)論,如有謬誤,請(qǐng)聯(lián)系指正;轉(zhuǎn)載請(qǐng)注明出處: » 給WordPress網(wǎng)站登錄接入騰訊防水墻(騰訊驗(yàn)證碼)驗(yàn)證功能限制垃圾信息

發(fā)表回復(fù)

本站承接,網(wǎng)站推廣(SEM,SEO);軟件安裝與調(diào)試;服務(wù)器或網(wǎng)絡(luò)推薦及配置;APP開發(fā)與維護(hù);網(wǎng)站開發(fā)修改及維護(hù); 各財(cái)務(wù)軟件安裝調(diào)試及注冊(cè)服務(wù)(金蝶,用友,管家婆,速達(dá),星宇等);同時(shí)也有客戶管理系統(tǒng),人力資源,超市POS,醫(yī)藥管理等;

立即查看 了解詳情