1.修改recaptchalib.
php中的两个方法复制代码代码如下:function _recaptcha_http_post($host, $path, $data, $port = 80) {$req = _recaptcha_qsencode ($data);$response = '';$url = $host.$path;$post_data = $req;$ch =curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);// 我们在POST数据哦!
curl_setopt($ch, CURLOPT_POST, 1);// 把post的变量加上curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);$output = curl_exec($ch);curl_close($ch);//echo $output;$response = $output;return $response;}function recaptcha_check_answer ($privkey, $remoteip, $challenge, $response, $extra_params = array()){if ($privkey == null || $privkey == '') {die ("To use reCAPTCHA you must get an API key from https://www.google.com/recaptcha/admin/create");}if ($remoteip == null || $remoteip == '') {die ("For security reasons, you must pass the remote ip to reCAPTCHA");}//discard spam submissions if ($challenge == null || strlen($challenge) == 0 || $response == null || strlen($response) == 0) {$recaptcha_response = new ReCaptchaResponse();$recaptcha_response->is_valid = false;$recaptcha_response->error = 'incorrect-captcha-sol';return $recaptcha_response;}$response = _recaptcha_http_post (RECAPTCHA_VERIFY_SERVER, "/recaptcha/api/verify",array ('privatekey' => $privkey,'remoteip' => $remoteip,'challenge' => $challenge,'response' => $response) + $extra_params);$answers = explode ("\n", $response [1]);$recaptcha_response = new ReCaptchaResponse();$pos = strpos($response, 'true');if ($pos === false) {$recaptcha_response->is_valid = false;$recaptcha_response->error = $response;} else {$recaptcha_response->is_valid = true;}return $recaptcha_response;}
2.demo.php
复制代码代码如下:require_once('recaptchalib.php');// Get a key from https://www.google.com/recaptcha/admin/create$publickey = "你的公共key ---自己去http://www.google.com/recaptcha申请";$privatekey = "你的私有key ---自己去http://www.google.com/recaptcha申请";# the response from reCAPTCHA$resp = null;# the error code from reCAPTCHA, if any$error = null;# was there a reCAPTCHA response?if ($_POST["recaptcha_response_field"]) {$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 {# set the error code so that we can display it$error = $resp->error;echo $error;//echo $_POST["recaptcha_challenge_field"];//echo $_POST["recaptcha_response_field"];}}echo recaptcha_get_html($publickey, $error);?>http://www.bkjia.com/PHPjc/324600.html www.bkjia.com true http://www.bkjia.com/PHPjc/324600.html TechArticle 1.修改recaptchalib.php中的两个方法 复制代码 代码如下: function _recaptcha_http_post($host, $path, $data, $port = 80) { $req = _recaptcha_qsencode ($data); $response...
