2

成功/失敗したメッセージを取得するのではなく、recaptchaから回答を取得しようとしましたが、方法を取得できませんでした。シナリオを把握するために、シナリオを想定してみましょう。

私は自分のphpページでこの行を起動することでreCAPTCHAを取得しました:

echo recaptcha_get_html($publickey, $error);

それから私は挑戦を受けました。

レッパサチャレンジ

これで、ユーザーが送信すると、このコードが実行されます。

$resp = recaptcha_check_answer ($privatekey,
                                    $_SERVER["REMOTE_ADDR"],
                                    $_POST["recaptcha_challenge_field"],
                                    $_POST["recaptcha_response_field"]);

この関数の定義は次のとおりです。

function recaptcha_check_answer ($privkey, $remoteip, $challenge, $response, $extra_params = array())

さて、$ extra_paramsとは何ですか?私がそれについて知ることができるところ。phpのrecapthcaapiには何も記載されていません。「$extra_params」に何かを渡して、recaptchaのテキストを取得するオプションはありますか?

そしてそれが提出されるとき、それは私にこの応答を送ります:

Array ( [0] => HTTP/1.1 200 OK Cache-Control: no-cache, no-store, max-age=0, must-revalidate Pragma: no-cache Expires: Fri, 01 Jan 1990 00:00:00 GMT Date: Fri, 20 Jul 2012 18:49:51 GMT Content-Type: text/plain X-Recaptcha-Request-Duration: 8 X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block Server: GSE Connection: close [1] => true success ) You got it!

今、私は応答でrecaptchaの答えを取得したいと思います。この特定のチャレンジでは、これは「統治のイヴルースト」になります

どんな助けでも大歓迎です。

4

2 に答える 2

1

reCAPTCHAには、ユーザーに提示された実際のチャレンジを返すためのメソッドがありません。その理由はセキュリティのためです。個人的にはreCAPTCHAは素晴らしいコンセプトだと思いますが、半分の時間でチャレンジを読むことができないので、世界で最も厄介なものの1つです。「新しいチャレンジ」ボタンを10回以上クリックしていることに気づきました。

いずれにせよ、あなたが言及したことをしたいのであれば、自己ホスト型のCAPTCHAソリューションを使用する方が良いでしょう。

また、$extra_params変数は、呼び出しに追加のパラメーターを含めることです。Googleは追加のパラメータを許可することについて言及していないので、私の理解では、Googleが将来ライブラリに含まれていない新しいパラメータをAPIに実装する場合に備えて追加されました。古いバージョンのライブラリを使用している人にとっては、より簡単になります。

于 2012-08-08T22:35:02.533 に答える
0

たくさんのグーグルと研究の努力の結果、私はrecaptchaが機能する方法を知りましたが、答えを得ることができません。私は成功のステータスを知るためにしか管理できません。それだけです。

于 2012-08-29T04:09:33.727 に答える