bot validierung durch Zeitmessung, Interaktionsmessung und Honeypot eingerichtet.
This commit is contained in:
parent
5bd72ad89e
commit
a32e4a9d4b
11 changed files with 99 additions and 117 deletions
|
|
@ -1,6 +1,28 @@
|
|||
window.onload = function () {
|
||||
|
||||
// initieiere Zeitmessung zur Botprevention
|
||||
var startTime = Date.now();
|
||||
|
||||
// Messe ob mit der Seite agiert wird
|
||||
var userInteracted = false;
|
||||
|
||||
function setUserInteracted() {
|
||||
userInteracted = true;
|
||||
}
|
||||
|
||||
document.addEventListener("mousedown", setUserInteracted);
|
||||
document.addEventListener("touchstart", setUserInteracted);
|
||||
document.addEventListener("keydown", setUserInteracted);
|
||||
|
||||
document.getElementById('formular').addEventListener('submit', function (e) {
|
||||
e.preventDefault(); // Verhindert die Standard-Formularsendung
|
||||
|
||||
var endTime = Date.now();
|
||||
var timeSpent = (endTime - startTime) / 1000; // Zeit in Sekunden
|
||||
document.getElementById("age").value = timeSpent;
|
||||
|
||||
document.getElementById("hobbies").value = userInteracted ? "1" : "0";
|
||||
|
||||
const form = e.target;
|
||||
const zsrNummer = form.elements['zsr_nummer'].value;
|
||||
const isNumberOrBeantragt = /^\d+$|^beantragt$/i.test(zsrNummer);
|
||||
|
|
|
|||
|
|
@ -260,12 +260,22 @@ table .far {
|
|||
margin-right: auto;
|
||||
}
|
||||
|
||||
.accordion-collapse {
|
||||
max-height: 0;
|
||||
overflow: hidden;
|
||||
transition: max-height 0.3s ease;
|
||||
}
|
||||
|
||||
.fadeOut {
|
||||
@apply transition-opacity duration-500 ease-in-out opacity-0;
|
||||
}
|
||||
.fadeIn {
|
||||
@apply transition-opacity duration-1000 ease-in-out opacity-100;
|
||||
}
|
||||
#verify_email, #age, #hobbies {
|
||||
display:none;
|
||||
}
|
||||
|
||||
|
||||
/**************** Component Styles ******************/
|
||||
|
||||
|
|
|
|||
|
|
@ -45,10 +45,18 @@ title = 'Freiberufliche'
|
|||
<label for="vorname">Vorname</label>
|
||||
<input type="text" id="vorname" name="vorname" required >
|
||||
</div>
|
||||
<div>
|
||||
<label class="hidden" for="hobbies">hobbies</label>
|
||||
<input type="text" id="hobbies" name="hobbies" required >
|
||||
</div>
|
||||
<div>
|
||||
<label for="strasse">Strasse</label>
|
||||
<input type="text" id="strasse" name="strasse" required >
|
||||
</div>
|
||||
<div>
|
||||
<label class="hidden" for="age">Alter</label>
|
||||
<input type="text" id="age" name="age" required >
|
||||
</div>
|
||||
<div>
|
||||
<label for="plz_ort">PLZ Ort</label>
|
||||
<input type="text" id="plz_ort" name="plz_ort" required >
|
||||
|
|
@ -61,6 +69,10 @@ title = 'Freiberufliche'
|
|||
<label for="email">Email</label>
|
||||
<input type="email" id="email" name="email" required >
|
||||
</div>
|
||||
<div>
|
||||
<label class="hidden" for="verify_email">Email verifizieren</label>
|
||||
<input type="verify_email" id="verify_email" name="verify_email" required >
|
||||
</div>
|
||||
<div>
|
||||
<label for="message">Message</label>
|
||||
<textarea id="message" name="message" rows="4" required ></textarea>
|
||||
|
|
|
|||
6
content/german/blog/neue-domiziladresse.md
Normal file
6
content/german/blog/neue-domiziladresse.md
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
---
|
||||
title: "Neue Domiziladresse ab dem 01.09.2023"
|
||||
date: 2024-02-22T20:33:26Z
|
||||
draft: false
|
||||
tags: []
|
||||
---
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
---
|
||||
title: "How to build an Application with modern Technology"
|
||||
meta_title: ""
|
||||
description: "this is meta description"
|
||||
date: 2022-04-04T05:00:00Z
|
||||
image: "/images/image-placeholder.png"
|
||||
categories: ["Application", "Data"]
|
||||
author: "John Doe"
|
||||
tags: ["nextjs", "tailwind"]
|
||||
draft: false
|
||||
---
|
||||
|
||||
Nemo vel ad consectetur namut rutrum ex, venenatis sollicitudin urna. Aliquam erat volutpat. Integer eu ipsum sem. Ut bibendum lacus vestibulum maximus suscipit. Quisque vitae nibh iaculis neque blandit euismod.
|
||||
|
||||
Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!
|
||||
|
||||
## Creative Design
|
||||
|
||||
Nam ut rutrum ex, venenatis sollicitudin urna. Aliquam erat volutpat. Integer eu ipsum sem. Ut bibendum lacus vestibulum maximus suscipit. Quisque vitae nibh iaculis neque blandit euismod.
|
||||
|
||||
> Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!
|
||||
|
||||
Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
---
|
||||
title: "How to build an Application with modern Technology"
|
||||
meta_title: ""
|
||||
description: "this is meta description"
|
||||
date: 2022-04-04T05:00:00Z
|
||||
image: "/images/image-placeholder.png"
|
||||
categories: ["Technology", "Data"]
|
||||
author: "Sam Wilson"
|
||||
tags: ["technology", "tailwind"]
|
||||
draft: false
|
||||
---
|
||||
|
||||
Nemo vel ad consectetur namut rutrum ex, venenatis sollicitudin urna. Aliquam erat volutpat. Integer eu ipsum sem. Ut bibendum lacus vestibulum maximus suscipit. Quisque vitae nibh iaculis neque blandit euismod.
|
||||
|
||||
Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!
|
||||
|
||||
## Creative Design
|
||||
|
||||
Nam ut rutrum ex, venenatis sollicitudin urna. Aliquam erat volutpat. Integer eu ipsum sem. Ut bibendum lacus vestibulum maximus suscipit. Quisque vitae nibh iaculis neque blandit euismod.
|
||||
|
||||
> Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!
|
||||
|
||||
Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
---
|
||||
title: "How to build an Application with modern Technology"
|
||||
meta_title: ""
|
||||
description: "this is meta description"
|
||||
date: 2022-04-04T05:00:00Z
|
||||
image: "/images/image-placeholder.png"
|
||||
categories: ["Software"]
|
||||
author: "John Doe"
|
||||
tags: ["software", "tailwind"]
|
||||
draft: false
|
||||
---
|
||||
|
||||
Nemo vel ad consectetur namut rutrum ex, venenatis sollicitudin urna. Aliquam erat volutpat. Integer eu ipsum sem. Ut bibendum lacus vestibulum maximus suscipit. Quisque vitae nibh iaculis neque blandit euismod.
|
||||
|
||||
Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!
|
||||
|
||||
## Creative Design
|
||||
|
||||
Nam ut rutrum ex, venenatis sollicitudin urna. Aliquam erat volutpat. Integer eu ipsum sem. Ut bibendum lacus vestibulum maximus suscipit. Quisque vitae nibh iaculis neque blandit euismod.
|
||||
|
||||
> Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!
|
||||
|
||||
Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
---
|
||||
title: "How to build an Application with modern Technology"
|
||||
meta_title: ""
|
||||
description: "this is meta description"
|
||||
date: 2022-04-04T05:00:00Z
|
||||
image: "/images/image-placeholder.png"
|
||||
categories: ["Architecture"]
|
||||
author: "John Doe"
|
||||
tags: ["silicon", "technology"]
|
||||
draft: false
|
||||
---
|
||||
|
||||
Nemo vel ad consectetur namut rutrum ex, venenatis sollicitudin urna. Aliquam erat volutpat. Integer eu ipsum sem. Ut bibendum lacus vestibulum maximus suscipit. Quisque vitae nibh iaculis neque blandit euismod.
|
||||
|
||||
Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!
|
||||
|
||||
## Creative Design
|
||||
|
||||
Nam ut rutrum ex, venenatis sollicitudin urna. Aliquam erat volutpat. Integer eu ipsum sem. Ut bibendum lacus vestibulum maximus suscipit. Quisque vitae nibh iaculis neque blandit euismod.
|
||||
|
||||
> Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!
|
||||
|
||||
Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!
|
||||
6
content/german/blog/rueckwirkende-tarife-kanton-fr.md
Normal file
6
content/german/blog/rueckwirkende-tarife-kanton-fr.md
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
---
|
||||
title: "Rueckwirkende Tarife Kanton FR zum 01.01.2022"
|
||||
date: 2024-02-22T20:40:11Z
|
||||
draft: false
|
||||
tags: []
|
||||
---
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
---
|
||||
title: "Vorankuendigung Zusatzmodule Dienst Und Tourenplan zum 01.11.2022"
|
||||
date: 2024-02-22T20:39:10Z
|
||||
draft: false
|
||||
tags: []
|
||||
---
|
||||
|
|
@ -1,29 +1,41 @@
|
|||
{{ define "main" }}
|
||||
{{ partial "page-header" . }}
|
||||
|
||||
|
||||
<section class="section">
|
||||
<div class="container">
|
||||
<div class="row gx-5">
|
||||
<!-- blog posts -->
|
||||
<div class="lg:col-8">
|
||||
<div class="row">
|
||||
{{ $paginator:= .Paginate .RegularPages }}
|
||||
{{ range $paginator.Pages }}
|
||||
<div class="md:col-6 mb-14">
|
||||
{{ partial "components/blog-card" . }}
|
||||
<h1>Blog</h1>
|
||||
<div id="accordion" class="divide-y divide-gray-200">
|
||||
{{ range $index, $page := .Data.Pages }}
|
||||
<div class="accordion-item">
|
||||
<h2 class="accordion-header mb-0" style="padding:0!important;">
|
||||
<button class="accordion-button relative flex items-center w-full py-4 px-5 text-left text-gray-800 bg-gray-100 focus:outline-none" type="button">
|
||||
<i class="verua-icon far text-primary fa-bullhorn"></i> {{ .Title }}
|
||||
</button>
|
||||
</h2>
|
||||
<div class="accordion-collapse hidden">
|
||||
<div class="accordion-body py-4 px-5">
|
||||
{{ .Content }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
{{ partial "components/pagination.html" . }}
|
||||
</div>
|
||||
<!-- sidebar -->
|
||||
<div class="lg:col-4">
|
||||
<!-- widget -->
|
||||
{{ $widget:= site.Params.widgets.sidebar }}
|
||||
{{ partialCached "widgets/widget-wrapper" ( dict "Widgets" $widget "Scope" . ) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
{{ end }}
|
||||
</div>
|
||||
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
const accordionButtons = document.querySelectorAll('.accordion-button');
|
||||
|
||||
accordionButtons.forEach(button => {
|
||||
button.addEventListener('click', () => {
|
||||
const accordionCollapse = button.parentElement.nextElementSibling;
|
||||
|
||||
button.classList.toggle('active');
|
||||
if (button.classList.contains('active')) {
|
||||
button.parentElement.nextElementSibling.classList.remove('hidden');
|
||||
accordionCollapse.style.maxHeight = accordionCollapse.scrollHeight + 'px';
|
||||
} else {
|
||||
accordionCollapse.style.maxHeight = null;
|
||||
button.parentElement.nextElementSibling.classList.add('hidden');
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
{{ end}}
|
||||
Loading…
Add table
Add a link
Reference in a new issue