/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Encrypted emailaddress
Fra : Mette


Dato : 24-12-03 10:37


Hej NG

jeg har dette script til at lave en kodet email om til en normal email, med
jeg har ikke den modsatte kode. Er der en, der har koden???

god jul

Mvh

Mette


<script type="text/javascript" language="javascript">
<!--
//Encrypted emailaddress version 3.0 2003 Dansoft Denmark - freeware

var PrivatKey = "sdfg@ABCDE.PI";

var PublicKey =
"ZaYbXcWdVeUfTgShRiQjPkOlNmMnLoKpJqIrHsGtFuEvDwCxByAz1234567890";

var PrivatKeySize = PrivatKey.length;
var LinkString = "";
var PublicPointer = "";



for (Counter = 0; Counter < PrivatKey.length; Counter++)
{
if (PublicKey.indexOf(PrivatKey.charAt(Counter))==-1)
{
PublicPointer=PrivatKey.charAt(Counter);
LinkString+=(PublicPointer);

}
else
{
PublicPointer = (PublicKey.indexOf(PrivatKey.charAt(Counter))-
PrivatKeySize+PublicKey.length) % PublicKey.length;
LinkString += (PublicKey.charAt(PublicPointer));

}
}
document.write("<a href='mailto:"+LinkString+"'>"+LinkString+"")


//-->
</script>



 
 
Lasse Reichstein Nie~ (24-12-2003)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 24-12-03 13:09

"Mette" <nospam@nospam.dk> writes:

> jeg har dette script til at lave en kodet email om til en normal email, med
> jeg har ikke den modsatte kode.

Først og fremmest: Det er helt vildt overkill, hvis det eneste du vil er
at gemme adressen fra spammerenes adressehøstere. Og ellers snyder det
ikke ret mange, når dekoderfunktionen jo er med i siden.

> Er der en, der har koden???

Lad mit se på det.

> <script type="text/javascript" language="javascript">

("Language"-attributten er ikke nødvendig. Den er "deprecated" i HTML
4, så det anbefales at man nøjes med "type")

> <!--

HTML-kommentarer er ikke nødvendige i Javascript.

> //Encrypted emailaddress version 3.0 2003 Dansoft Denmark - freeware
>
> var PrivatKey = "sdfg@ABCDE.PI";

Her bliver jeg nervøs, fordi PrivatKey skulle være nøglen der
oversætter den modsatte vej af PublicKey. Det skulle ikke være teksten
der skal krypteres. Altså stoler jeg ikke på ham der har lavet det her,
hvis han ikke engang kan holde terminologien korrekt.

> var PublicKey =
> "ZaYbXcWdVeUfTgShRiQjPkOlNmMnLoKpJqIrHsGtFuEvDwCxByAz1234567890";

Ok, en streng der indeholder alle bogstaver, store og små, og alle
tal. Lyder som en simpel ombytnings-kodning.

> var PrivatKeySize = PrivatKey.length;
> var LinkString = "";
> var PublicPointer = "";

> for (Counter = 0; Counter < PrivatKey.length; Counter++)
> {
> if (PublicKey.indexOf(PrivatKey.charAt(Counter))==-1)
> {
> PublicPointer=PrivatKey.charAt(Counter);
> LinkString+=(PublicPointer);

Hvis tegn nummer <Counter> ikke er i PublicKey, så tilføj den
direkte.

> }
> else
> {
> PublicPointer = (PublicKey.indexOf(PrivatKey.charAt(Counter))-
> PrivatKeySize+PublicKey.length) % PublicKey.length;

ellers find tegnets index i publickey, træk PrivatKeySize fra,
og tag modulus med PubliKey's længde. (Den +PublicKey.length,
er for det tilfælde at minus-udtrykket bliver negativt - men
det virker kun hvis PrivatKey er kortere end PublicKey, ellers
går det galt.)

Ret linjen til:

PublicPointer = (PublicKey.indexOf(PrivatKey.charAt(Counter))-
(PrivatKeySize%PublicKey.length)+PublicKey.length) % PublicKey.length;

.... så virker den også hvis PrivateKey er længere end PublicKey.

> LinkString += (PublicKey.charAt(PublicPointer));
>
> }
> }
> document.write("<a href='mailto:"+LinkString+"'>"+LinkString+"")

Og så skriver vi en e-mail-adresse der ikke virker på siden. Hvor
smart er det? :)

Ok, så idéen må være at den e-mail-adresse der står i PrivateKey
allerede *er* krypteret, så den bliver dekrypteret af siden og vist
rigtigt.

Den funktion der krypterer må så være:
---
function encrypt(data) {
var key = "ZaYbXcWdVeUfTgShRiQjPkOlNmMnLoKpJqIrHsGtFuEvDwCxByAz1234567890";
var dataLength = data.length;
var encData = [];
for(var i=0;i<dataLength;i++) {
var char = data.charAt(i);
var idx = key.indexOf(char);
if (idx == -1) {
encData[encData.length]=char;
} else {
var encChar = key.charAt((idx + dataLength) % key.length);
// forskellen er ^ + i stedet for -
encData[encData.length]=encChar;
}
}
return encData.join("");
}
---
Hvis du tager din e-mail-adresse og sender den igennem "encrypt", og
så bruger outputtet som PrivateKey, så vil din rigtige adresse komme
til at stå på siden ... hvis brugeren altså har javascript slået til.

Det regnes normalt ikke som en god idé at folk uden javascript ikke
kan bruge siden ordentligt. Det gælder lidt over 10% af alle folk der
browsede, i den statistik jeg så sidst.

/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'

Jesper Stocholm (31-12-2003)
Kommentar
Fra : Jesper Stocholm


Dato : 31-12-03 11:36

Mette wrote :

> jeg har dette script til at lave en kodet email om til en normal
> email, med jeg har ikke den modsatte kode. Er der en, der har koden???

Som Lasse siger, så er det ikke regnet for "god tone" at de uden javascript
slået til ikke kan bruge siden. Hvis du har adgang til et serverside sprog
som fx PHP, ASP eller ASP.Net, så kan du gøre det hele serverside - og
endda opnå at det virker for folk uden javascript slået til samt skjuler
din adresse for de fleste adressehøstere.

Jeg tillader mig lige at sende et link til en dims, der netop gør sådan
noget. Jeg har skrevet det i ASP, men det skulle ikke være noget stort
problem at skrive den om til fx PHP eller lignende.

http://asp.stocholm.dk/bluremail/bluremail.asp

--
Jesper Stocholm
http://stocholm.dk
Give a man a fish and he will have food for a day,
give a man an elephant, and he will have food for a week.

Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408847
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste