Skip to content

Commit b1194d5

Browse files
Copilotskerbis
andcommitted
Update README with new XOR methods, security improvements, and jQuery removal
Co-authored-by: skerbis <[email protected]>
1 parent 81229ae commit b1194d5

File tree

1 file changed

+74
-10
lines changed

1 file changed

+74
-10
lines changed

README.md

Lines changed: 74 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,31 +5,57 @@ Das [REDAXO](http://www.redaxo.org)-Addon sorgt dafür, dass alle E-Mailadressen
55

66
## Funktionsweise
77

8-
Durch die Integration des email_obfuscator Addons von RexDude stehen verschiedene Verschleierungsmethoden für E-Mailadressen zur Verfügung:
8+
Durch die Integration des email_obfuscator Addons stehen verschiedene Verschleierungsmethoden für E-Mailadressen zur Verfügung:
99

10-
1. __ROT13 Einhorn-Markup__: Diese Methode findet alle E-Mailadressen und ersetzt deren `@` durch spezielles Einhorn-Markup: `<span class="unicorn"><span>_at_</span></span>`. Dadurch kann die E-Mailadresse nicht mehr so einfach von Bots ausgelesen werden und sollte ziemlich gut vor Spam geschützt sein. Weiterhin werden auch alle mailto-Links erkannt und verschlüsselt.
11-
Beim Aufruf der Seite werden alle geschützten E-Mailadressen und mailto-Links mittels __JavaScript__ wieder entschlüsselt und in die ursprüngliche Form gebracht. __CSS-Styles__ sorgen dafür, dass die geschützten E-Mailadressen auf der Website richtig angezeigt werden, also mit `@` statt Einhorn. Damit fällt der Wechsel von verschlüsselt nach unverschlüsselt nicht auf, und auch in Umgebungen ohne JavaScript wird eine verschlüsselte Adresse richtig dargestellt.
12-
__Bitte beachten__: Diese Methode benötigt für die Einhorn-Markup Methode __jQuery__ für die JavaScript-Funktionalität!
10+
### Sichere Methoden (empfohlen)
1311

14-
2. __ROT13 JavaScript Verschlüsselung__: Um die Email-Adressen zu schützen, wird die E-Mailadresse durch ein JavaScript ersetzt, das die E-Mailadresse ins Dokument schreibt. Zur Verschleierung wird die Technik "ROT13 Encryption" angewendet.
12+
1. __XOR Verschlüsselung (Standard)__: Diese moderne Methode verwendet XOR-Verschlüsselung mit einem festen Schlüssel, um E-Mailadressen sicher zu verschleiern. Die verschlüsselten Daten werden in `data-*` Attributen gespeichert und automatisch per JavaScript entschlüsselt. Diese Methode ist exponentiell sicherer als die veralteten ROT13-Verfahren und bietet zuverlässigen Schutz vor Spam-Bots.
13+
__Vorteile__: Starke Verschlüsselung, kein jQuery erforderlich, unterstützt mailto-Parameter wie `?subject=Betreff&body=Nachricht`
14+
15+
2. __XOR Verschlüsselung mit dynamischem Schlüssel__: Diese besonders sichere Variante generiert für jede Seite/jeden Artikel einen anderen Verschlüsselungsschlüssel basierend auf der Artikel-ID. Dadurch wird die gleiche E-Mailadresse auf verschiedenen Seiten unterschiedlich verschlüsselt, was die Sicherheit maximiert.
16+
__Vorteile__: Höchste Sicherheitsstufe, kontextabhängige Verschlüsselung, kein jQuery erforderlich, unterstützt mailto-Parameter
17+
18+
### Veraltete Methoden (unsicher, nicht empfohlen)
19+
20+
3. __ROT13 Einhorn-Markup__ ⚠️ __Veraltet, unsicher__: Diese Methode findet alle E-Mailadressen und ersetzt deren `@` durch spezielles Einhorn-Markup: `<span class="unicorn"><span>_at_</span></span>`. ROT13 ist ein einfacher Caesar-Cipher, der von modernen Tools leicht geknackt werden kann.
21+
__Bitte beachten__: Diese Methode benötigt __jQuery__ für die JavaScript-Funktionalität! jQuery wird seit Version 2.0 des Addons nicht mehr benötigt.
22+
23+
4. __ROT13 JavaScript Verschlüsselung__ ⚠️ __Veraltet, unsicher__: Diese Methode ersetzt E-Mailadressen durch JavaScript-Code mit ROT13-Verschlüsselung. ROT13 bietet keinen ausreichenden Schutz mehr gegen moderne Spam-Bots.
1524
__Bitte beachten__: Diese Methode macht alle E-Mailadresse ohne klickbaren Link klickbar!
1625

17-
3. __CSS Methode ohne JavaScript__: Um die Email-Adressen zu schützen, wird die Technik "CSS display:none" angewendet.
26+
5. __CSS Methode ohne JavaScript__: Diese Methode verwendet "CSS display:none" zur Verschleierung und funktioniert ohne JavaScript.
1827
__Bitte beachten__: diese Methode entfernt den mailto-Link und verwandelt Adresse in name[at]domain.tld. Die Adresse ist damit nicht mehr klickbar.
1928

20-
4. __ROT13 JavaScript Verschlüsselung mit CSS Methode__: Um die Email-Adressen zu schützen, werden die Techniken "CSS display:none" und "ROT13 Encryption" angewendet. Die CSS Methode kommt im `<noscript>` Tag zum Einsatz, falls JavaScript im Browser des Besuchers deaktiviert ist.
29+
6. __ROT13 JavaScript Verschlüsselung mit CSS Methode__ ⚠️ __Veraltet, unsicher__: Kombiniert ROT13-Verschlüsselung mit CSS-Fallback für deaktiviertes JavaScript.
2130
__Bitte beachten__: Diese Methode macht alle E-Mailadresse ohne klickbaren Link klickbar!
2231
__Bitte beachten__: diese Methode entfernt bei deaktiviertem JavaScript den mailto-Link und verwandelt Adresse in name[at]domain.tld. Die Adresse ist damit nicht mehr klickbar.
2332

33+
### Unterstützung für mailto-Parameter
34+
35+
Alle Verschlüsselungsmethoden unterstützen jetzt vollständig mailto-Links mit Parametern:
36+
- __Einfache Parameter__: `[email protected]?subject=Anfrage`
37+
- __Mehrere Parameter__: `[email protected]?subject=Hilfe&body=Bitte_kontaktieren_Sie_mich`
38+
- __URL-kodierte Parameter__: `[email protected]?subject=Anfrage%20f%C3%BCr%20ein%20U-Boot`
39+
40+
Die Parameter bleiben nach der Entschlüsselung vollständig erhalten und funktionsfähig.
41+
2442
## Installation
2543

26-
Das Addon ist nach Aktivierung gleich funktionsfähig, und du brauchst keine weiteren Einstellungen vorzunehmen. Die benötigten Styles und Scripte werden automatisch geladen.
44+
Das Addon ist nach Aktivierung gleich funktionsfähig und verwendet standardmäßig die sichere __XOR Verschlüsselung__. Du brauchst keine weiteren Einstellungen vorzunehmen. Die benötigten Styles und Scripte werden automatisch geladen.
45+
46+
⚠️ __Wichtiger Sicherheitshinweis__: Falls du eine ältere Installation aktualisierst, die noch die veralteten ROT13-Methoden verwendet, solltest du in der Konfiguration auf eine der neuen XOR-Methoden wechseln, um die Sicherheit deiner E-Mailadressen zu gewährleisten.
2747

2848
Solltest du das benötigte CSS oder JavaScript manuell einbinden wollen, musst du in der Konfiguration das automatische Laden deaktivieren.
2949

50+
### Keine jQuery-Abhängigkeit mehr
51+
52+
Ab Version 2.0 des Addons wird __kein jQuery mehr benötigt__. Das JavaScript verwendet moderne Vanilla-DOM-APIs und ist mit allen aktuellen Browsern kompatibel. Bestehende Installationen funktionieren weiterhin ohne Änderungen.
53+
3054

3155

32-
### Hinweise zur __ROT13 Einhorn-Markup__ Methode: CSS und JavaScript manuell einbinden
56+
### Hinweise zur manuellen Einbindung: CSS und JavaScript
57+
58+
⚠️ __Wichtig__: Die folgenden Hinweise gelten nur für die veraltete __ROT13 Einhorn-Markup__ Methode. Die modernen XOR-Methoden benötigen kein jQuery und funktionieren mit dem Standard-JavaScript des Addons.
3359

3460
Du kannst die Styles und Scripte auf zwei Arten einbinden: Entweder du lädst die Files, die das Addon bereitstellt, oder du kopierst deren Inhalte in deine bestehenden CSS- und JavaScript-Files.
3561

@@ -70,6 +96,27 @@ Kopiere die Inhalte der CSS-Datei und der JS-Datei jeweils in deine Sourcen:
7096
Bei Variante a) oben ist dies nicht notwendig.
7197

7298

99+
## Sicherheit und Migration
100+
101+
### Warum XOR statt ROT13?
102+
103+
Die neuen XOR-Verschlüsselungsmethoden bieten exponentiell bessere Sicherheit als die veralteten ROT13-Verfahren:
104+
105+
- __ROT13__ ist ein einfacher Caesar-Cipher, der von modernen Tools und Spam-Bots leicht automatisch geknackt werden kann
106+
- __XOR-Verschlüsselung__ mit Base64-URL-Safe-Kodierung ist deutlich komplexer und widerstandsfähiger gegen automatisierte Angriffe
107+
- __Dynamische Schlüssel__ (XOR dynamic) machen die Entschlüsselung ohne Kontext praktisch unmöglich
108+
109+
### Migration von alten Methoden
110+
111+
Wenn du eine bestehende Installation verwendest:
112+
113+
1. Gehe zur Email-Verschlüsselung Konfigurationsseite im REDAXO Backend
114+
2. Wähle __"XOR Verschlüsselung (Sicher, empfohlen)"__ für Standardsicherheit
115+
3. Oder wähle __"XOR Verschlüsselung mit dynamischem Schlüssel (Sehr sicher, empfohlen)"__ für maximale Sicherheit
116+
4. Speichere die Konfiguration
117+
118+
Keine Code-Änderungen, Template-Updates oder jQuery-Installation erforderlich. Alle bestehenden mailto-Links mit Parametern funktionieren sofort korrekt.
119+
73120
## Sonstiges
74121

75122
### Verschlüsselung bestimmter E-Mailadressen verhindern
@@ -86,4 +133,21 @@ Bei Variante a) oben ist dies nicht notwendig.
86133

87134
Das Addon filtert _alle_ E-Mailadressen im Code anhand eines Musters und verschlüsselt diese. In manchen Situationen ist das nicht unbedingt gewollt, z. B. wenn E-Mailadressen als HTML-Attribute oder in Formularen verwendet werden. Dort werden vom System natürlich die reinen, unverschlüsselten Adressen erwartet, und leider kann das Addon solche Umgebungen nicht eigenständig erkennen.
88135

89-
⚠️ Beachte bitte, dass du in manchen Umgebungen die E-Mailverschlüsselung unterbinden solltest, entweder durch Ausschließen bestimmter Templates oder Artikel in der Konfiguration, oder aber durch ein manuelles Whitelisting von Adressen wie im Abschnitt oben beschrieben.
136+
⚠️ Beachte bitte, dass du in manchen Umgebungen die E-Mailverschlüsselung unterbinden solltest, entweder durch Ausschließen bestimmter Templates oder Artikel in der Konfiguration, oder aber durch ein manuelles Whitelisting von Adressen wie im Abschnitt oben beschrieben.
137+
138+
### Unterstützung für komplexe mailto-Parameter
139+
140+
Das Addon unterstützt jetzt vollständig komplexe mailto-Links mit allen gängigen Parametern:
141+
142+
```html
143+
<!-- Einfache Betreff-Zeile -->
144+
<a href="mailto:[email protected]?subject=Anfrage">Kontakt</a>
145+
146+
<!-- Betreff und Nachricht -->
147+
<a href="mailto:[email protected]?subject=Hilfe%20benötigt&body=Bitte%20kontaktieren%20Sie%20mich">Support</a>
148+
149+
<!-- Mehrere Empfänger und Parameter -->
150+
<a href="mailto:[email protected],[email protected]?subject=Angebot&[email protected]&body=Liebe%20Damen%20und%20Herren">Angebot anfordern</a>
151+
```
152+
153+
Alle Parameter bleiben nach der Verschlüsselung und Entschlüsselung vollständig funktionsfähig.

0 commit comments

Comments
 (0)