簡體   English   中英

驗證碼無法在php中工作,聰明

[英]Captcha not working in php , smarty

我正在嘗試在我的網站中實現驗證碼,但始終會給出錯誤錯誤的captcha-sol。

請看我的代碼

require_once('recaptchalib.php');
$publickey = "xxxxxxxxxxxxxx";
$privatekey = "xxxxxxxxxxxxxxxxxxxxxxxxx";

$resp = recaptcha_check_answer ($privatekey,$_SERVER["REMOTE_ADDR"],$_POST["recaptcha_challenge_field"],$_POST["recaptcha_response_field"]);
if ($resp->is_valid) {
            echo "You got it!";
    } else {

            echo "Error=". $resp->error;
    }

請檢查這里這是一個Ajax呼叫

看來validateCapture的數據發送已中斷。 目前,您的AJAX通話中包含以下內容:

data: "recaptcha_challenge_field=" + challengeField +
    "&recaptcha_response_field=" + responseField,

這將導致以下調試變量轉儲:

Array
(
    [recaptcha_challenge_field] => 03AHJ_VuskQR9VZwr6Uo5DllF4CL1GHDLajHiTQGHI3SE2pryBlSW-BMVeWMAudfOaTmOZu8vAPx5DaYjFoIjxhursn-GnXQwGA4T8Mn1rLL7E8Vrz-xVRs9c4c0-Gb9FxFhlNjy257xiTmvWikzjmRfsa9I3PZQcDSwgDu7Gq6A_RBC9NrV-cyqw
    [amp;recaptcha_response_field] => capture ceptICA
)

第二個密鑰看起來很錯誤,因為它包含編碼的“&”號。 您可能可以交換& 對於非urlencoded的價值& ,但我會傾向於選擇這樣的:

data: {
    recaptcha_challenge_field: challengeField,
    recaptcha_response_field: responseField
}

這是相同數據的哈希 ,因此感覺更干凈。 試試吧

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM