ReCaptcha v2 - trudności z wdrożeniem

ReCaptcha v2 - trudności z wdrożeniem
Pangeon
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Łódź
  • Postów: 163
0

http://kuchara.webd.pl/recaptcha-pjs/

Niestety to nie działa i nie wiem czemu. To wyjątkowo irytujące, że wdrożenie czegoś gotowego to taki kłopot.
Chyba jakiś PHP Developer musi to obejrzeć - przykład działa tylko na stronie prezentującego, po pobraniu i wpisaniu kluczy u mnie już nie ?!

Korzystałem z tutorialu:
https://phppot.com/php/php-contact-form-with-google-recaptcha/

TR
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: 700m n.p.m.
  • Postów: 681
0

Wygenerowałeś swoj klucz w google (http://www.google.com/recaptcha/admin)? Nie możesz korzystać z czyjegoś bo klucz rejestruje się na określoną domenę z tego co pamiętam.

Zobacz też na ten tutorial:

https://www.kaplankomputing.com/blog/tutorials/recaptcha-php-demo-tutorial/

Pangeon
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Łódź
  • Postów: 163
0

Zły klucz nie pozwala wyświetlić widżetu reCaptcha, te wygenerowane zostały na Google. Korzystałem z kilku tutoriali, bo zadanie wydaje się proste - niestety z jakiegoś powodu to nie działa. Nie mam pojęcia czemu.

PK
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 596
0

Po czym poznajesz że nie działa? Wszedłem właśnie parę razy na twój formularz, odblokowałem spy/ad-ware z googla ( skrypt, frame-a, gstatica) i poszło.
Jesteś pewien że problem nie leży po stronie twojej przeglądarki albo dodatków do niej?

Pangeon
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Łódź
  • Postów: 163
0

Dziękuje za cenną pomoc, pewien nie jestem zakładałem że skoro to na użytek stron powinno działać lepiej niż np. Flash.
No ale dopiero teraz ustawiłem poprawny e-mail i mogę sprawdzić jeśli by coś miało przejść. U mnie konfiguracja zabezpieczeń strony nie daje efektu.

Nadal jest:
Captcha Validation Required!

Kopiuj
//reCAPTCHA validation
	if (isset($_POST['g-recaptcha-response'])) {
		
		require('component/recaptcha/src/autoload.php');		
		
		$recaptcha = new \ReCaptcha\ReCaptcha(SECRET_KEY, new \ReCaptcha\RequestMethod\SocketPost());

		$resp = $recaptcha->verify($_POST['g-recaptcha-response'], $_SERVER['REMOTE_ADDR']);

		  if (!$resp->isSuccess()) {
				$output = json_encode(array('type'=>'error', 'text' => '<b>Captcha</b> Validation Required!'));
				die($output);				
		  }	
	}
TR
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: 700m n.p.m.
  • Postów: 681
0

Co robisz w klasie new \ReCaptcha\ReCaptcha?

Cała procedura weryfikacji jest banalna po co Ci $_SERVER['REMOTE_ADDR'] albo \ReCaptcha\RequestMethod\SocketPost()???

To jest cała weryfikacja

Kopiuj
public function verify() {
$value = $_POST['g-recaptcha-response'];
      
$url = 'https://www.google.com/recaptcha/api/siteverify';
$data = array(
  'secret' => '...SECRET...',
  'response' => $value
);
  $options = array(
  'http' => array (
    'method' => 'POST',
    'content' => http_build_query($data)
  )
);

$context  = stream_context_create($options);
$verify = file_get_contents($url, false, $context);
$captcha_success=json_decode($verify);

if ($captcha_success->success==false) {
  return FALSE;
}

return TRUE;
}
Pangeon
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Łódź
  • Postów: 163
0

Korzystałem z tutorialu:
https://phppot.com/php/php-contact-form-with-google-recaptcha/

Stamtąd pobrałem kod. Poza tym przerobiłem wiele innych tutoriali zawsze osiągając negatywny rezultat. Naprawdę chciałbym zobaczyć działający formularz z ReCaptchą. Chciałbym nauczyć się wszystkich języków programowania na to niestety brakło by mi życia. Kod w całości przesłałem tutaj w zip-ie, nie wiem dokładnie co robi ten komponent. Bardzo mnie jednak ciekawi czemu to g*no nigdzie nie działa. Co mnie irytuje brakuje developer'a który znałby na to odpowiedź. Być może coś pomijam, nie rozumiem pewnych prostych mechanizmów i gdzieś jest dziura.

czysteskarpety
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Piwnica
  • Postów: 7697
0

Próbowałeś czy bez reCaptcha formularz działa bez problemów?

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.