Wenn der Nutzer JavaScript aktiviert hat, kann man sogar noch weiter gehen:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23: | // rot13-Algorithmus (für Entschlüsselung in JavaScript)
var map = new Array();
var s = "abcdefghijklmnopqrstuvwxyz";
for (var i = 0; i < s.length; i++)
map[s.charAt(i)] = s.charAt((i + 13) % 26);
for (i = 0; i < s.length; i++)
map[s.charAt(i).toUpperCase()] = s.charAt((i + 13) % 26).toUpperCase();
function rot13 (str)
{
var rwert = 'mailto:';
for (i = 0; i < str.length; i++)
{
var b = str.charAt(i);
if (b == '+')
rwert += '@';
else
rwert += ('A' <= b && b <= 'Z' || 'a' <= b && b <= 'z' ? map[b] : b);
}
return rwert;
} |
Es handelt sich um eine gewöhnliche rot13-Verschlüsselung, wobei jedoch ein "+" durch ein "@" ersetzt wird.
Im Link sieht das dann so aus:
Dadurch wird das Ziel des Links ohne Wissen des Benutzers ersetzt. Wird href nicht gesetzt, stellen manche Browser den Link nicht sofort als Link dar.
In PHP sieht das ganze dann so aus:
1:
2:
3:
4: | function mailrot13 ($eml)
{
return str_replace("@", "+", str_rot13($eml));
} |