Mailto:-Verschlüsselung aus einer DB

Vaio

Mitglied
Hallo zusammen :)

Ich habe eine Frage:

Ich lasse Namen aus einer Datenabnk kommen, z.B.: Karl Mustermann. Ein weiteres Feld der DB nennt sich z.B.: Email und gibt mir die Emailadressen. Diese verknüpfe ich dann und ein "Mailto:"-Link entsteht bei der Ausgabe. Sprich man klickt auf den Namen und kann sofort eine Mail versenden.

Nachdem ich hörte, dass einige Leute Bedenken haben, ihre Adresse "offen" im web zu haben, dachte ich mir diese zu verschlüsseln. Ich fand auf Anhieb zwei Methoden:

Methode 1

und ...

Methode 2

Nun zu meinem Problem. Ich denke, dass es bei mir an der Umsetzung scheitert. Zu meinem Denkansatz.
Die Daten müssten aus der DB ausgelesen, die Ziffern abgespalten-, umgewandelt-(in ASCII evtl. per DB) und zusammengefügt werden.

So in etwa sollte es funktionieren. Mein Aktueller Code, der diese Ausgabe erzeugt:

PHP:
<?php

$link = mysql_connect("localhost", "x", "y");
  if (!$link)
    die("Kann den Server nicht erreichen.");
  if (!mysql_select_db("x", $link))
    die("Kann die Datenbank nicht anwählen.");
	
	
	$query = "SELECT * FROM F1H2";
$result = mysql_query($query, $link);
if (!$result)
{
    print mysql_error();
    die("Query $query ist ungültiges SQL.");
}

	while($datensatz = mysql_fetch_object($result))
	{
?>
           
<table width="100%" border="0" cellspacing="1" cellpadding="1">
<tr>
<td width="120">|&nbsp;<?php echo("<a href=\"mailto:".$datensatz->Email."\">"); echo($datensatz->Name."\n"); echo("</a>\n");?></td>
<td width="120">|&nbsp;<?php echo("<a href=\"http://"); echo($datensatz->URL."\">"); echo($datensatz->Details."\n"); echo("</a>\n");?></td>

(Bitte entschuldigt meine Fehler in der Syntax, ich fange gerade erst an)


Ich würde mich freuen, wenn ihr einen Rat hättet.

Schönen Gruß
Claus
 
hm...

wieso bastelst du dir nicht einfach ein email-formular welches die mail denn sendet, dann sieht auch keiner die email(auch nicht im code, wenn du es richtig machst)!

greetz Nova
 
Hallo, ich habe Dir schnell eine Funktion geschrieben, mit der Du die E-Mail-Adressen maskieren kannst.
PHP:
  function crypt_mail($str_mail) {
    $str_crypted = '';
    for ($i = 0; $i < strlen($str_mail); $i++) {
      $str_crypted .= '&#'.ord(substr($str_mail, $i, 1)).';';
    }
    return $str_crypted;
  }

Die Funktion fügst Du einfach Deinem Script hinzu und änderst die Zeile
PHP:
<td width="120">|&nbsp;<?php echo("<a href=\"mailto:".$datensatz->Email."\">"); echo($datensatz->Name."\n"); echo("</a>\n");?></td>
in
PHP:
<td width="120">|&nbsp;<?php echo("<a href=\"mailto:".crypt_mail($datensatz->Email)."\">"); echo($datensatz->Name."\n"); echo("</a>\n");?></td>

Die Funktion wurde getestet!

Ich denke, dass Du damit einige Harvester vom Sammeln von Mailadressen abhalten kannst, doch neuere Programme werden auch die maskierten Adressen auslesen können. Der Browser kanns schließlich auch.

Gruß, snuu
 
Zuletzt bearbeitet:
Zurück