Często w wyniku tego, że na naszej stronie umieszczamy adres e-mail w postaci:
w naszej skrzynce zaczyna pojawiać się coraz więcej SPAMU. Wiele spambotów przeszukuje strony w celu uzyskania właśnie takich adresów e-mail. W związku z tym co można zrobić, aby podać adres na swojej stronie WWW, a jednocześnie ochronić się przed niechcianymi wiadomościami?
Wiele osób zamiast małpy wstawia znacznik [at] albo na końcu adresu e-mail wstawia teskt: “USUŃ_TO”. Wygląda jednak to mało profesjonalnie. Można stworzyć formularz kontaktowy. Jest to wygodne dla użytkownika, który nie musisz kopiować adresu e-mail do swojego programu pocztowego, tylko wypełnia formularz i klika wyślij. Nigdzie też jawnie nie pokazujemy swojego adresu e-mail, więc spamboty go nie dopadną. Jednak sam skrypt formularza może zostać wykorzystany przez spamboty i w skrzynce nadal będzie pełno śmieci. Rozwiązaniem jest wykorzystanie tokena przy formularzu, ale o tym kiedy indziej.
Jednak mimo wszystko na jakiejś branżowej stronie wypada podać adres e-mail oprócz formularza kontaktowego. Ochroną przed spambotami może być podanie adresu e-mail jako obrazek. W tym celu musimy napisać bardzo prosty skrypt, który nazwiemy email.php, a jego kod wygląda tak:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <?php header("Content-type: image/png"); $user = $_GET['user']; $domain = $_GET['domain']; $email = $user . "@" . $domain; $im = imagecreatefrompng("img/email.png"); $black = imagecolorallocate($im, 0, 0, 0); $px = (imagesx($im) - 7.5 * strlen($email)) / 2; imagestring($im, 3, $px, 1, $email, $black); imagepng($im); imagedestroy($im); ?> |
Skrypt, aby wyświetlić adres e-mail w formie obrazka musi otrzymać dwie zmienne nazwę użytkownika i domenę, w której mamy pocztę. Oprócz tego musimy stworzyć prostokącik o wielkości 180×14 pikseli w kolorze tła twojej strony lub innym. Nasze zmienne podstawiane są do kolejnej zmiennej $email, która jest umieszczana na prostokąciku i w taki sposób tworzony jest kolejny obrazek.
W jaki sposób korzystać z powyższego skryptu? Oto przykładowe użycie:
1 2 3 4 5 | if(ereg("([-A-Za-z0-9_.]*)([@]{1})([-A-Za-z0-9_.]*)", $email, $mail)){ $user = $mail[1]; $domain = $mail[3]; } echo '<b>Adres e-mail:</b> <img src="email.php?user='.$user.'&domain='.$domain.'" alt=""><br>'; |
Na początku dzielimy adres e-mail na dwie części, aby móc podstawić odpowiednie zmienne przy odwołaniu do skryptu. W taki oto sposób nasz e-mail będzie widoczny dla innych jako obrazek.
Popularity: 28%

[...] na zabezpieczenie adresów e-mail na stronach, skryptach przed robotami spamowymi. Pisałem już o wyświetlaniu adresu e-mail na stronie w postaci obrazka, a teraz chciałbym pokazać Ci prostą funkcję, która choć trochę zabezpieczy Cię przed [...]