Avatar billede JJ77 Juniormester
29. november 2006 - 20:53 Der er 8 kommentarer og
1 løsning

få sløret en brugers emailadresse

Jeg får i øjeblikket vist en brugers email med nedenstående kode..

<a href=\"mailto:".$raekke['email']."\">".$raekke['email']."</a>

Jeg kiggede så lidt i kildekoden på en anden hjemmeside og så hvordan de viste brugernes emailadresser så de er sløret for robotter som scanner efter emails. Er det muligt at bruge mit ovenstående eksempel og sammenkoble det med nedenstående javascript? eller er det bare umuligt?



<SCRIPT LANGUAGE="javascript">
            arrm    = new Array();
    arrm[0]    = '4';
    arrm[1]    = '5';
    arrm[2]    = '8';
    arrm[3]    = '9';
    arrm[4]    = '7';
    arrm[5]    = '4';
    arrm[6]    = '3';
    arrm[7]    = 'm';
    arrm[8]    = '0';
    arrm[9]    = '0';
    arrm[10]    = '5';
    arrm[11]    = '@';
    arrm[12]    = 's';
    arrm[13]    = 't';
    arrm[14]    = 'o';
    arrm[15]    = 'f';
    arrm[16]    = 'a';
    arrm[17]    = 'n';
    arrm[18]    = 'e';
    arrm[19]    = 't';
    arrm[20]    = '.';
    arrm[21]    = 'd';
    arrm[22]    = 'k';

            strm    = '';                               
            for ( j = 0; j < arrm.length; j++ ) {                   
                                               
                strm = strm + arrm[j];                       
            }       
            document.write ( '<A HREF="mailto:' + strm + '">' + strm + '</A>');   
        </SCRIPT>
Avatar billede azrael Nybegynder
29. november 2006 - 21:22 #1
Jeg vil ikke forsøge at gøre mig klog på noget, men kan man overhovedet kombinere variabeldata fra PHP med JavaScript? PHP-koden processeres jo server-side, mens JavaScript-koden kører client-side. Så skulle du vel lave noget med et hidden input felt, hvor du gemmer en sløret string, som du så oversætter til en "læsbar" email-adresse client-side med JavaScript. Giver det mening for dig? :)
Avatar billede JJ77 Juniormester
29. november 2006 - 21:28 #2
hehe.. ja lidt.. men ville også bare høre.. det virkede så smart hvis det kunne kombineres forholdsvis simpelt :-)
Avatar billede azrael Nybegynder
29. november 2006 - 22:24 #3
Du kunne jo evt. udfylde arrm[] array'et inde fra PHP. Noget i stil med:

$i = 0;
$j = count($email);

while ($i < $j)(
  echo "arrm[".$i."] = \'".$email[$i]."\';";
  $i++;
}

Det er bare lige "off the top of my head", så det er nok ikke den smarteste kode, men måske giver den ideer?
Avatar billede azrael Nybegynder
29. november 2006 - 22:25 #4
Og der skal selvfølgelig stå " while ($i < $j){ " og ikke " while ($i < $j)( "... :)
Avatar billede JJ77 Juniormester
29. november 2006 - 22:52 #5
hmm.. ok.. må indrømme at jeg nok ikke lige selv kan støbe det videre/færdigt.. men tak da :-)
Avatar billede azrael Nybegynder
29. november 2006 - 22:59 #6
Jamen, det er såmænd ikke så svært (selvom jeg ikke kan klare hele koden for dig :).

Du laver bare en echo på stort set hele JavaScript koden, men fra arrm[0] ... og ned til arrm[22] ... bruger du den stump kode jeg foreslog før. Og så skal du selvfølgelig have en gyldig email adresse i $email.

Jeg har godt nok ikke testet koden på nogen måde, men det *burde* virke (med et par modifikationer nok :)...
Avatar billede JJ77 Juniormester
29. november 2006 - 23:12 #7
ok.. tror nu jeg dropper det lige pt.. men takker for hjælpen.. og smid du bare et svar :-)
Avatar billede azrael Nybegynder
29. november 2006 - 23:53 #8
Det er helt fint, du. Bare gem pointene til noget vigtigere... :)
Avatar billede JJ77 Juniormester
30. november 2006 - 00:22 #9
ok takker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester