From 832846bd9d2a1add4e9d7895c66ea3cb84c1e275 Mon Sep 17 00:00:00 2001
From: Dominik Pfennig <dominik@suma-ev.de>
Date: Thu, 6 Oct 2016 07:55:12 +0200
Subject: [PATCH] =?UTF-8?q?Hashwert=C3=BCberpr=C3=BCfung=20eingef=C3=BCgt?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

ich habe eine einfache Hashwertüberprüfung beim Abschicken einer Spende über unser Formular eingefügt. Das sollte einen großen Teil der Spam Mails verhindern.
---
 app/Http/Controllers/MailController.php        | 6 ++++++
 resources/views/spende/spende.blade.php        | 2 +-
 resources/views/spende/spendenaufruf.blade.php | 2 +-
 3 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/app/Http/Controllers/MailController.php b/app/Http/Controllers/MailController.php
index e1bbf864d..4bc0844c9 100644
--- a/app/Http/Controllers/MailController.php
+++ b/app/Http/Controllers/MailController.php
@@ -67,6 +67,12 @@ class MailController extends Controller
         $messageToUser = "";
         $messageType   = ""; # [success|error]
 
+        #Sicherheitsüberprüfung (Wir wurden in letzter Zeit ziemlich mit Mails zugespammt
+        $hash = md5(date('Y') . date('m') . date('d'));
+        if ($request->input('dt') !== $hash) {
+            return redirect(url('spende'));
+        }
+
         # Folgende Felder werden vom Spendenformular als Input übergeben:
         # Name
         # Telefon
diff --git a/resources/views/spende/spende.blade.php b/resources/views/spende/spende.blade.php
index 7d99121f3..a97f59e45 100644
--- a/resources/views/spende/spende.blade.php
+++ b/resources/views/spende/spende.blade.php
@@ -42,7 +42,7 @@
 		<h3 id="lastschrift">{!! trans('spenden.lastschrift.1') !!}</h3>
 		<p>{!! trans('spenden.lastschrift.2') !!}</p>
 		<form role="form" method="POST">
-			{{ csrf_field() }}
+			<input type="hidden" name="dt" value="{{ md5(date('Y') . date('m') . date('d')) }}" />
 			<div class="form-group donation-form-group">
 				<label for="Name">{!! trans('spenden.lastschrift.3') !!}</label>
 				<input type="text" class="form-control" id="Name" required="" name="Name" placeholder="{!! trans('spenden.lastschrift.3.placeholder') !!}">
diff --git a/resources/views/spende/spendenaufruf.blade.php b/resources/views/spende/spendenaufruf.blade.php
index ee62aedd5..70b68d2e6 100644
--- a/resources/views/spende/spendenaufruf.blade.php
+++ b/resources/views/spende/spendenaufruf.blade.php
@@ -90,7 +90,7 @@ das MetaGer-Team im SUMA-EV
 		<h2 id="lastschrift">{{ trans('spenden.lastschrift.1') }}</h2>
 		<p>{{ trans('spenden.lastschrift.2') }}</p>
 		<form role="form" method="POST" action="{{ action('MailController@donation') }}">
-			{{ csrf_field() }}
+			<input type="hidden" name="dt" value="{{ md5(date('Y') . date('m') . date('d')) }}" />
 			<div class="form-group" style="text-align:left;">
 				<label for="Name">{{ trans('spenden.lastschrift.3') }}</label>
 				<input type="text" class="form-control" id="Name" required="" name="Name" placeholder="{{ trans('spenden.lastschrift.3.placeholder') }}">
-- 
GitLab