From 3cb28e108b4a6208c393d7a7c03f2b00f12828a8 Mon Sep 17 00:00:00 2001 From: adametz Date: Fri, 7 Sep 2018 12:25:02 +0000 Subject: [PATCH] google recaptcha git-svn-id: http://78.47.251.156/svn/dev/sterntours-3@3464 f459cee4-fb09-11de-96c3-f9c5f16c3c76 --- .../views/default/pages/contact.html.twig | 21 +++++++++++++++- .../Controller/DefaultController.php | 25 ++++++++++++++++++- 2 files changed, 44 insertions(+), 2 deletions(-) diff --git a/trunk/app/Resources/views/default/pages/contact.html.twig b/trunk/app/Resources/views/default/pages/contact.html.twig index a439fdfe..d7a5ff71 100644 --- a/trunk/app/Resources/views/default/pages/contact.html.twig +++ b/trunk/app/Resources/views/default/pages/contact.html.twig @@ -12,11 +12,18 @@ werden uns dann umgehend bei Ihnen melden. Ihre Daten (Name, Telefonnummer etc.) werden ausschließlich zur Bearbeitung Ihrer Anfrage verwendet und nicht an Dritte weitergegeben.

- +
+ {% if re_error != "" %} +
+ {{ re_error }} +
+
+ {% endif %} +

Reisedaten

@@ -108,6 +115,18 @@
+ {% if re_error != "" %} +
+ {{ re_error }} +
+
+ {% endif %} + +
+ +
+
+
diff --git a/trunk/src/AppBundle/Controller/DefaultController.php b/trunk/src/AppBundle/Controller/DefaultController.php index 385e4587..377f1fb9 100644 --- a/trunk/src/AppBundle/Controller/DefaultController.php +++ b/trunk/src/AppBundle/Controller/DefaultController.php @@ -291,11 +291,33 @@ class DefaultController extends Controller $form = $this->createForm(ContactRequestType::class); $breadcrumbEntries = [new BreadcrumbEntry('Kontaktformular')]; + + + $re_error = ""; if ($request->getMethod() == 'POST') { + $error = false; + + if(empty($request->get('g-recaptcha-response'))){ + $re_error = 'Bitte lösen Sie das reCAPTCHA.'; + $error = true; + } + //your site secret key + $secret = '6LfjBm8UAAAAANKNzGhSiMaoEg9mUswlaZkOHgI4'; + //get verify response data + $verifyResponse = file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret='.$secret.'&response='.$request->get('g-recaptcha-response')); + $responseData = json_decode($verifyResponse); + + + if($responseData->success != true ){ + $re_error = 'Bitte lösen Sie das reCAPTCHA'; + $error = true; + } + + $form->handleRequest($request); - if ($form->isValid()) + if ($form->isValid() && !$error) { /** @var ContactRequest $contactRequest */ $contactRequest = $form->getData(); @@ -336,6 +358,7 @@ class DefaultController extends Controller 'base_dir' => realpath($this->getParameter('kernel.root_dir').'/..').DIRECTORY_SEPARATOR, 'breadcrumb_entries' => $breadcrumbEntries, 'contact_form' => $form->createView(), + 're_error' => $re_error, ]); }