Add simple spambot barrier master
authorJoey Schulze <joey@infodrom.org>
Sun, 16 Aug 2020 19:05:36 +0000 (21:05 +0200)
committerJoey Schulze <joey@infodrom.org>
Sun, 16 Aug 2020 19:05:36 +0000 (21:05 +0200)
lib/layout.inc
templates/contact.html
templates/contact.js

index c8e9d55..6959c19 100644 (file)
@@ -420,11 +420,13 @@ function process_contact()
 {
   if ($_SERVER['REQUEST_METHOD'] == 'POST') {
     if (empty($_POST['topic']))
-      $ret = warning('Sie haben keinen Titel für die Nachricht angegeben!');
+      return warning('Sie haben keinen Titel für die Nachricht angegeben!');
     elseif (empty($_POST['body']))
-      $ret = warning('Sie haben keinen Text der Nachricht angegeben!');
+      return warning('Sie haben keinen Text der Nachricht angegeben!');
     elseif (!empty($_POST['email']) && !is_valid_email_address($_POST['email']))
-      $ret = warning('Die angegebene Mail-Adresse ist ungültig.');
+      return warning('Die angegebene Mail-Adresse ist ungültig.');
+    elseif (intval($_POST['pivot']) != intval(date('m')))
+      return warning('Die Testfrage ist falsch beantwortet.');
     else {
       contact_send($_POST['topic'], $_POST['email'], $_POST['body']);
       $ret = information('Die Nachricht wurde an den Chef geschickt.');
index a0bcd30..8c897e7 100644 (file)
@@ -32,6 +32,12 @@ textarea {
 <td align="left"><textarea name="body" id="body" tabindex="5">@body@</textarea></td>
 </tr>
 
+<tr>
+<td class="font" align="right" valign="top"><label for="pivot">Testfrage:</label></td>
+<td align="left">Den wievielten Tag im Monat haben wir?<br>
+<input type="text" name="pivot" id="pivot" tabindex="4" value="" size="65" /></td>
+</tr>
+
 </table>
 
 <input class="button" type="submit" tabindex="6" value="Abschicken" onclick="return check_contactform();">
index 8eeaee5..f8c5d42 100644 (file)
@@ -3,6 +3,7 @@ function check_contactform()
   var topic = document.getElementById('topic');
   var body = document.getElementById('body');
   var email = document.getElementById('email');
+  var pivot = document.getElementById('pivot');
 
   if (!topic || !body)
     return false;
@@ -17,6 +18,11 @@ function check_contactform()
       return false;
   }
 
+  if (pivot.value.length == 0) {
+      alert('Beantworten Sie bitte die Testfrage!');
+      return false;
+  }
+
   if (email.value.length > 0 && !zlist_valid_email(email.value)) {
       alert('Die angegebene Mail-Adresse ist ungültig.');
       return false;