ホームページ > バックエンド開発 > PHPチュートリアル > PHP スペースがソケットをサポートしていないが、curl_PHP をサポートしている場合に recaptcha を使用する方法チュートリアル

PHP スペースがソケットをサポートしていないが、curl_PHP をサポートしている場合に recaptcha を使用する方法チュートリアル

WBOY
リリース: 2016-07-21 15:22:51
オリジナル
883 人が閲覧しました

1. recaptchalib.php の 2 つのメソッドを変更します

コードをコピーします コードは次のとおりです:

function _recaptcha_http_post($host, $path, $data, $port = 80) {
$req = _recaptcha_qsencode ($ データ);
$url = $host.$path;
$ch = Curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1);
// データを送信しています。
curl_setopt($ch, CURLOPT_POST, 1);
//ポスト変数を追加します
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
curl_close($ch);エコー $output;
$response = $output;
return $response;
関数 recaptcha_check_answer ($privkey, $remoteip, $response, $extra_params = array())
if ($privkey == null || $privkey == '') {
die ("reCAPTCHA を使用するには、");
}
if ($remoteip == null || $remoteip == '') {
die ("セキュリティ上の理由から、リモート IP を reCAPTCHA に渡す必要があります");
}
//スパム送信を破棄する
if ($challenge == null || strlen($challenge) == 0 || $response == null || strlen($ response) == 0) {
$recaptcha_response = new ReCaptchaResponse();
$recaptcha_response->error = 'incorrect-captcha-sol'
$res;ポンセ= _recaptcha_http_post (RECAPTCHA_VERIFY_SERVER, "/recaptcha/api/verify",
array (
'privatekey' => $privkey,
'remoteip' => $remoteip,
'challenge' => $challenge,
'response ' => $response
) + $extra_params
);
$answers =explose ("n", $response [1]);
$pos = strpos(); true');
if ($pos === false) {
$recaptcha_response->is_valid = false;
$recaptcha_response->is_valid = true;
}
return $recaptcha_response
}


2.demo.php



コードは次のとおりです。
& lt;フォームアクション= "" method="post">
require_once('recaptchalib.php')
// https://www.google.com/recaptcha/admin/create からキーを取得します
$publickey = "あなたの公開鍵 --- http://www.google.com/recaptcha にアクセスして申請してください";
$privatekey = "あなたの秘密鍵 --- http://www.google.com/ にアクセスしてくださいrecaptcha を適用してください";
# reCAPTCHA からの応答
$resp = null;
# reCAPTCHA からのエラー コード (存在する場合)
$error = null;
# reCAPTCHA 応答はありましたか? 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 "わかりました!";
} else {
# エラー コードを表示できるように設定します
$error = $resp->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

tru​​e

http://www.bkjia.com/PHPjc/324600.html

技術記事

1. recaptchalib.php 内の 2 つのメソッドを変更し、次のようにコードをコピーします。 function _recaptcha_http_post($host, $path, $data, $port = 80) { $req = _recaptcha_qsencode ($response...
);




ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート