2009-07-02 7 views
1

を返します。グローバルキー(今のところ) config/environment.rb Iセットアップ環境変数でRailsのreCAPTCHAのプラグインは、常に私はここで見つけるレールreCAPTCHAのプラグインを使用している偽

ENV['RECAPTCHA_PUBLIC_KEY'] = 'xxxxxxxxxxxxxxxx' 
ENV['RECAPTCHA_PRIVATE_KEY'] = 'XXXXXXXXXXXXXXxx' 

私の見解で私はこのようなキャプチャレンダリング:

<%= recaptcha_tags %> 

そして、私のコントローラの処理中に、私はこの持っているこのフォーム:

unless verify_recaptcha # <-- always returns false 
    flash[:error] = "Your captcha entry was invalid" 
    render :action=>'new' 
    return 
end 

私の問題は、verify_recaptcha alwaです。 ysはfalseを返します。

私は単純なものを見逃しているに違いないが、私はそれを見ない。 スマート・アレック・リプライを受け取る前に、正しい単語をキャプチャ・ボックスに入力しています:)

答えて

5

メモと同様に、公開鍵と秘密鍵を誤って切り替えていないことを確認してください。それらは違う。

あなたはすでにそれが、その場合、あなたはこのような何か持っているしたいと思う、正しいことを恐れ取り扱いしている場合は、私が言うことができない。

if verify_recaptcha 
    @thing.save! 
    redirect_to success_path 
else 
    flash[:error] = "There was an error with the recaptcha code below. Please re-enter the code and click submit." 
    render :action => 'new' 
end 

をし、使用することを忘れないでください:

<%= recaptcha_tags :ssl => true %> 

SSLを使用している場合。

+0

ヒントをお寄せいただきありがとうございます。 –

+0

あなたの答えは私の鍵を確認するように促し、秘密鍵から後の文字を見逃してしまったことが判明しました。ありがとう! –

2

私は入り込み、recaptchaプラグインを見ました。関連部分は次のようになります。

recaptcha = Net::HTTP.post_form URI.parse("http://#{server}/verify"), { 
      "privatekey" => private_key, 
      "remoteip" => request.remote_ip, 
      "challenge" => challenge, 
      "response" => response 
      } 

これはチャレンジとレスポンスを受け取り、応答を返します。チャレンジとレスポンスで試したところ、"true\nsuccess"が得られました。私は戻って"true\nsuccess"

answer, error = recaptcha.body.split.map { |s| s.chomp } 
unless answer == "true" 

なったので、答えは"true"になり、コードがゆえ渡す必要があります。次のコード行があればfalseが返します。

Net :: HTTPを使用して直接応答を送信し、どのような応答が得られるのか確認できますか?

+0

ヒントをいただきありがとうございます、私は私のプライベートキーを脂肪で指していました! –

関連する問題