Zaczęliśmy używać kontrolki recaptcha ASP.NET i działa dobrze. ale jednym z wymogów jest to, że cały ruch wychodzący przechodzi przez Https..NET Recaptcha https
Wiem, że recaptcha obsługuje https, ale nie jest jasne, jak skonfigurować (lub nawet jeśli jest konfigurowalny) podczas korzystania z opcji wtyczki ASP.NET.
ma ktoś ma jakiekolwiek doświadczenie w tym?
będę rozwinąć trochę na co znalazłem do tej pory ....
Pakiet zawiera 3 Odśwież klas publicznych
RecaptchaControl, RecaptchaValidator
i RecaptchaResponse
RecaptchaControl
jest Asp Kontrola .NET, metody specyficzne dla recaptcha wydają się dotyczyć tematów/wyglądu i odczuć.
Wystąpienie walidatora ma pole RemoteIP (które, jak sądzę, będzie reprezentować serwer weryfikacji), ale nie mogę go powiązać z formantem.
RecaptchaResponse
wydaje się mniej więcej reprezentować wyliczenie z możliwymi odpowiedziami (prawidłowe/nieprawidłowe/nieudane połączenie).
wygląda tak, że kontrolka Ponownie steruje inteligentnie wybiera https, jeśli żądanie było https. jestem przypuszczać, że robi to samo dla walidacji, ale nie jest jasne z kodu źródłowego http://code.google.com/p/recaptcha/source/browse/trunk/recaptcha-plugins/dotnet/library/
private const string VerifyUrl = "http://www.google.com/recaptcha/api/verify";
private const string RECAPTCHA_SECURE_HOST = "https://api-secure.recaptcha.net";
private const string RECAPTCHA_HOST = "http://api.recaptcha.net";
--------------------------------SNIP------------------------------------
/// <summary>
/// This function generates challenge URL.
/// </summary>
private string GenerateChallengeUrl(bool noScript)
{
StringBuilder urlBuilder = new StringBuilder();
urlBuilder.Append(Context.Request.IsSecureConnection || this.overrideSecureMode ? RECAPTCHA_SECURE_HOST : RECAPTCHA_HOST);
urlBuilder.Append(noScript ? "/noscript?" : "/challenge?");
urlBuilder.AppendFormat("k={0}", this.PublicKey);
if (this.recaptchaResponse != null && this.recaptchaResponse.ErrorCode != string.Empty)
{
urlBuilder.AppendFormat("&error={0}", this.recaptchaResponse.ErrorCode);
}
return urlBuilder.ToString();
}
dzięki za to Dan, dodałem kilka szczegółów do mojego pytania. Na pewno wrócę z reflektorem w razie potrzeby, ale mam nadzieję, że ktoś może uratować mi kłopot. – TygerKrash
Prosta odpowiedź ... Rozwiązałem mój problem ... – Ahsan