Damit deine Emails oder sonstige Daten vor dem abgreifen von Bots geschützt werden sollten Sie im Quellcode verschlüsselt sein.
1. Base64-Kodierung der E-Mail
Kodiere deine E-Mail-Adresse zuerst mit einem Online-Tool oder JavaScript:
- Beispiel: beispiel@domain.com → YmVpc3BpZWxAZG9tYWluLmNvbQ==
- Tool: https://www.base64encode.org/
2. HTML-Grundgerüst erstellen
html
Copy
<!DOCTYPE html>
<html>
<head>
<title>Kontakt</title>
</head>
<body>
<h1>Kontakt</h1>
<!-- Hier kommt die verschleierte E-Mail -->
<div id="email-container"></div>
<!-- JavaScript-Code einfügen -->
<script>
// Base64-kodierte E-Mail
const encoded = "YmVpc3BpZWxAZG9tYWluLmNvbQ==";
// Dekodieren
const email = atob(encoded);
// E-Mail-Link dynamisch einfügen
const container = document.getElementById("email-container");
const link = document.createElement("a");
link.href = "mailto:" + email;
link.textContent = email;
container.appendChild(link);
</script>
</body>
</html>
3. Erklärung des Codes
- Schritt 1:
Die E-Mail-Adresse wird als Base64-String (encoded) im <script>-Tag gespeichert. - Schritt 2:
atob(encoded) dekodiert den Base64-String zurück zur lesbaren E-Mail. - Schritt 3:
Ein <a>-Link wird dynamisch erstellt und in das leere <div id=“email-container“> eingefügt.
4. Alternative: Mit Zeichenentitäten kombinieren
Für zusätzlichen Schutz ersetze @ und . nach der Dekodierung mit HTML-Entities:
html
Copy
<script>
const encoded = „YmVpc3BpZWxAZG9tYWluLmNvbQ==“;
let email = atob(encoded)
.replace(/@/g, „@“) // @ → @
.replace(/\./g, „.“); // . → .
document.getElementById(„email-container“).innerHTML = `
<a href=“mailto:${email}“>${email}</a>
`;
</script>
Run HTML
5. Platzierung im HTML
- Füge den Code vor dem schließenden </body>-Tag ein, damit das DOM bereits geladen ist.
- Wenn du den Code im <head> platzieren willst, verwende DOMContentLoaded:
html
Copy
<script>
document.addEventListener(„DOMContentLoaded“, () => {
const encoded = „YmVpc3BpZWxAZG9tYWluLmNvbQ==“;
const email = atob(encoded);
// … Rest wie oben …
});
</script>
Run HTML
6. Komplettes Beispiel (optimiert)
html
Copy
<!DOCTYPE html>
<html>
<head>
<title>Kontakt</title>
</head>
<body>
<h1>Kontakt</h1>
<div id=“email-placeholder“>[Bitte aktivieren Sie JavaScript]</div>
<script>
document.addEventListener(„DOMContentLoaded“, () => {
// Base64-kodierte E-Mail
const encoded = „YmVpc3BpZWxAZG9tYWluLmNvbQ==“;
// Dekodieren und Entities ersetzen
const email = atob(encoded)
.replace(/@/g, „@“)
.replace(/\./g, „.“);
// Link erstellen
const placeholder = document.getElementById(„email-placeholder“);
placeholder.innerHTML = `
<a href=“mailto:${email}“>${email}</a>
`;
});
</script>
</body>
</html>
Run HTML
7. Testen
- Öffne die HTML-Datei im Browser – die E-Mail sollte als klickbarer Link erscheinen.
- Klicke mit Rechtsklick → „Seitenquelltext anzeigen“ – die E-Mail sollte nicht im Klartext zu sehen sein.
Wichtige Hinweise:
- JavaScript muss aktiviert sein: Nutzer ohne JavaScript sehen nur den Platzhaltertext.
- Fallback-Lösung: Füge eine Notfallkontaktmöglichkeit ein (z. B. ein Kontaktformular).
- Sicherheit: Base64 ist keine Verschlüsselung – professionelle Crawler können dies umgehen. Kombiniere es mit anderen Methoden (z. B. Zeichenentitäten).