ReCaptcha v2 - trudności z wdrożeniem

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/

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/

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.

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?

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!

//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);				
		  }	
	}
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

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;
}
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.

0

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

1 użytkowników online, w tym zalogowanych: 0, gości: 1