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 () {
|
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) {
|
document.getElementById('formular').addEventListener('submit', function (e) {
|
||||||
e.preventDefault(); // Verhindert die Standard-Formularsendung
|
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 form = e.target;
|
||||||
const zsrNummer = form.elements['zsr_nummer'].value;
|
const zsrNummer = form.elements['zsr_nummer'].value;
|
||||||
const isNumberOrBeantragt = /^\d+$|^beantragt$/i.test(zsrNummer);
|
const isNumberOrBeantragt = /^\d+$|^beantragt$/i.test(zsrNummer);
|
||||||
|
|
|
||||||
|
|
@ -260,12 +260,22 @@ table .far {
|
||||||
margin-right: auto;
|
margin-right: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.accordion-collapse {
|
||||||
|
max-height: 0;
|
||||||
|
overflow: hidden;
|
||||||
|
transition: max-height 0.3s ease;
|
||||||
|
}
|
||||||
|
|
||||||
.fadeOut {
|
.fadeOut {
|
||||||
@apply transition-opacity duration-500 ease-in-out opacity-0;
|
@apply transition-opacity duration-500 ease-in-out opacity-0;
|
||||||
}
|
}
|
||||||
.fadeIn {
|
.fadeIn {
|
||||||
@apply transition-opacity duration-1000 ease-in-out opacity-100;
|
@apply transition-opacity duration-1000 ease-in-out opacity-100;
|
||||||
}
|
}
|
||||||
|
#verify_email, #age, #hobbies {
|
||||||
|
display:none;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**************** Component Styles ******************/
|
/**************** Component Styles ******************/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -45,10 +45,18 @@ title = 'Freiberufliche'
|
||||||
<label for="vorname">Vorname</label>
|
<label for="vorname">Vorname</label>
|
||||||
<input type="text" id="vorname" name="vorname" required >
|
<input type="text" id="vorname" name="vorname" required >
|
||||||
</div>
|
</div>
|
||||||
|
<div>
|
||||||
|
<label class="hidden" for="hobbies">hobbies</label>
|
||||||
|
<input type="text" id="hobbies" name="hobbies" required >
|
||||||
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<label for="strasse">Strasse</label>
|
<label for="strasse">Strasse</label>
|
||||||
<input type="text" id="strasse" name="strasse" required >
|
<input type="text" id="strasse" name="strasse" required >
|
||||||
</div>
|
</div>
|
||||||
|
<div>
|
||||||
|
<label class="hidden" for="age">Alter</label>
|
||||||
|
<input type="text" id="age" name="age" required >
|
||||||
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<label for="plz_ort">PLZ Ort</label>
|
<label for="plz_ort">PLZ Ort</label>
|
||||||
<input type="text" id="plz_ort" name="plz_ort" required >
|
<input type="text" id="plz_ort" name="plz_ort" required >
|
||||||
|
|
@ -61,6 +69,10 @@ title = 'Freiberufliche'
|
||||||
<label for="email">Email</label>
|
<label for="email">Email</label>
|
||||||
<input type="email" id="email" name="email" required >
|
<input type="email" id="email" name="email" required >
|
||||||
</div>
|
</div>
|
||||||
|
<div>
|
||||||
|
<label class="hidden" for="verify_email">Email verifizieren</label>
|
||||||
|
<input type="verify_email" id="verify_email" name="verify_email" required >
|
||||||
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<label for="message">Message</label>
|
<label for="message">Message</label>
|
||||||
<textarea id="message" name="message" rows="4" required ></textarea>
|
<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" }}
|
{{ define "main" }}
|
||||||
{{ partial "page-header" . }}
|
|
||||||
|
|
||||||
|
<h1>Blog</h1>
|
||||||
<section class="section">
|
<div id="accordion" class="divide-y divide-gray-200">
|
||||||
<div class="container">
|
{{ range $index, $page := .Data.Pages }}
|
||||||
<div class="row gx-5">
|
<div class="accordion-item">
|
||||||
<!-- blog posts -->
|
<h2 class="accordion-header mb-0" style="padding:0!important;">
|
||||||
<div class="lg:col-8">
|
<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">
|
||||||
<div class="row">
|
<i class="verua-icon far text-primary fa-bullhorn"></i> {{ .Title }}
|
||||||
{{ $paginator:= .Paginate .RegularPages }}
|
</button>
|
||||||
{{ range $paginator.Pages }}
|
</h2>
|
||||||
<div class="md:col-6 mb-14">
|
<div class="accordion-collapse hidden">
|
||||||
{{ partial "components/blog-card" . }}
|
<div class="accordion-body py-4 px-5">
|
||||||
|
{{ .Content }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
</div>
|
</div>
|
||||||
{{ partial "components/pagination.html" . }}
|
|
||||||
</div>
|
<script>
|
||||||
<!-- sidebar -->
|
document.addEventListener('DOMContentLoaded', () => {
|
||||||
<div class="lg:col-4">
|
const accordionButtons = document.querySelectorAll('.accordion-button');
|
||||||
<!-- widget -->
|
|
||||||
{{ $widget:= site.Params.widgets.sidebar }}
|
accordionButtons.forEach(button => {
|
||||||
{{ partialCached "widgets/widget-wrapper" ( dict "Widgets" $widget "Scope" . ) }}
|
button.addEventListener('click', () => {
|
||||||
</div>
|
const accordionCollapse = button.parentElement.nextElementSibling;
|
||||||
</div>
|
|
||||||
</div>
|
button.classList.toggle('active');
|
||||||
</section>
|
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}}
|
{{ end}}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue