Avatar billede compac Seniormester
01. april 2010 - 17:26 Der er 4 kommentarer og
1 løsning

Beskyttelse af mail

Jeg har lavet en side hvor der forekommer e-mailadresser, som jeg vil beskytte:

Den består af 2 filer: Hovedsiden (udsnit):
<tr>
      <td width="284" height="123" valign="bottom" align="left">email: &nbsp;<?php
$hep="mail@mail.com"; echo "<img src='image.php?ImageName=$hep'>";?></big></td>
  </tr>
og
image.php-filen:

<?php
header("Content-type: image/png");
$t = $_GET['ImageName'];
$im = @imagecreate(195, 16) or die("Cannot Initialize new GD image stream");
$background = imageColorAllocate ($im, 0, 0, 0);
$bc = imageColorTransparent($im,$background);
$tc = imagecolorallocate($im, 70, 0, 255);
imagestring($im, 4, 0, 0,  $t, $tc);
imagepng($im);
imagedestroy($im);
?>

Når jeg tester på min egen computer kommer mailadresserne fint frem, men når jeg uploader den står adresserne som tomme billedrammer. Jeg har prøvet med flere forskellige browsere, uden held.
Avatar billede zips Juniormester
01. april 2010 - 17:56 #1
Er du sikker på at din server understøtter GD

Når jeg testet din kode virker den fint, men det var ikke noget jeg ville bruge til noget, da du jo sætte din email adresse ind i kildekoden og så kan en spam robot jo bare tage den der.

Hvis du indsætter den i her $t = "mail@mail.com"; vil den ikke komme frem i kildekoden, men du bruger måske GET for at kunne have flere email adresse du kan linke til på den måde.
Avatar billede compac Seniormester
01. april 2010 - 18:12 #2
Nej jeg er ikke sikker på at serveren understøtter GD (det er jo et krav står der jo højt og tydeligt).

Årsagen til, at jeg bruger GET er at jeg har flere e-mailadresser på siden.

Hvor mener du at sætningen $t = "mail@mail.com" skal indsættes.

Jeg kan se, når man surfer rundt, at der er mange måder at beskytte e-mailadresser på. Jeg har mest tillid til, hvor mailadressen ligger på serveren.
Avatar billede zips Juniormester
01. april 2010 - 18:17 #3
Du skal udskifte $t = $_GET['ImageName']; med $t = "mail@mail.com" og hvis du har GD så vil du se den mail som et billede.

Hvis din server tillader at du må se phpinfo kan du oprette en php fil med dette indhold og køre den fra din browser, så kan de se om du har GD lib

<?php
phpinfo()
?>
Avatar billede compac Seniormester
01. april 2010 - 18:30 #4
Jeg har prøvet at køre en phpinfo, og det ser ikke ud til at serveren understøtter GD.
Hvis jeg skal slippe for at skrive hele indholdet af filen image.php ind i hovedfilen for hver adresse, må jeg vel vælge mig en anden metode?
(der er 8 mailadresser)
Avatar billede compac Seniormester
03. april 2010 - 14:02 #5
Jeg har fundet denne løsning:

En php-funktion der er fælles for adresserne:
<?php

function convert_email_adr($email) {
    $pieces = str_split(trim($email));
    $new_mail = '';
    foreach ($pieces as $val) {
        $new_mail .= '&#'.ord($val).';';
    }
    return $new_mail;
}
?>


-og i sidens body-kode

<font color=\blue\><?php echo convert_email_adr('mail@mail.com');?></font>
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