Spamvrij emailadres
1 bericht
• Pagina 1 van 1
Spamvrij emailadres
Inleiding
SPAM is iets waar iedereen zich aan irriteert. Maar hoe krijg je nu last van SPAM? Bijvoorbeeld doordat je emailadres op een website staat. Er bestaan zogeheten spambots. Deze surfen sites af en zoeken naar emailadressen. In dit artikel leg ik uit hoe je emailadressen spamvrij op je website kunt zetten.
Benodigdheden
De code
Hieronder staat de code die we gebruiken. In de commentaren staat uitgelegd wat de verschillende functies doen.
PHP
We slaan deze code op als antispam.php.
Gebruik
Als je code bekijkt zie je een aantal opties die je aan kunt passen. Zo kun je de kleur (en transparatie) van de achtergrond en letters aanpassen.
Wanneer je deze code wil gebruiken dien je de code te hebben opgeslagen (bijvoorbeeld als antispam.php) en geupload te hebben naar je server.
Vervolgens wil je de code gaan gebruiken op je site. Dit doen met behulp van de<img> -tag. We linken daarmee naar antispam.php. Hierbij dienen we twee parameters op te geven. Namelijk:
Bijvoorbeeld:
HTML
We krijgen vervolgens die resultaat:
Errors
In de code zit een check ingebouwd. Je kan twee foutmeldingen krijgen namelijk:
SPAM is iets waar iedereen zich aan irriteert. Maar hoe krijg je nu last van SPAM? Bijvoorbeeld doordat je emailadres op een website staat. Er bestaan zogeheten spambots. Deze surfen sites af en zoeken naar emailadressen. In dit artikel leg ik uit hoe je emailadressen spamvrij op je website kunt zetten.
Benodigdheden
- PHP 4.3.2 of hoger
- GD-library
De code
Hieronder staat de code die we gebruiken. In de commentaren staat uitgelegd wat de verschillende functies doen.
PHP
- Code: Alles selecteren
<?php
// De || en :: vervangen voor @ en .
$email = str_replace("||","@",$_GET['e']);
$email = str_replace("::",".",$email);
// Kijken of er wel een emailadres is opgegeven
if(empty($email))
$email = "leeg@mastercode.nl";
// Controleren of het emailadres wel geldig is.
elseif(!preg_match('/^[A-Za-z0-9._-]+@[A-Za-z0-9._-]+\.[A-Za-z]{2,6}$/', $email))
$email = "error@mastercode.nl";
// Lettergrootte ophalen. Indien leeg, grootte 2 gebruiken.
$grootte = empty($_GET['g']) ? 2 : $_GET['g'];
// Breedte en hoogte bepalen
$breedte = imagefontwidth($grootte) * strlen($email) + 4;
$hoogte = imagefontheight($grootte);
// Afbeelding maken
$afb=imagecreate($breedte, $hoogte);
// Achtergrondkleur bepalen in RGB waarden. De laatste parameter is voor transparantie. 0 = zichtbaar; 127 = geheel transparant
$achtergrond = imagecolorallocatealpha($afb, 255, 255, 255, 127);
// Kleur van de letters in RGB waarden. De laatste parameter is voor transparantie. 0 = zichtbaar; 127 = geheel transparant
$kleur = imagecolorallocatealpha($afb, 0, 0, 0, 0);
// Tekst toevoegen aan de afbeelding
imagestring($afb, $grootte, 2, 0, $email, $kleur);
// Afbeelding intialiseren
header("Content-type: image/png");
// Afbeelding uitpoepe
imagepng($afb);
// Rotzooi opruimen
imagedestroy($afb);
?>
We slaan deze code op als antispam.php.
Gebruik
Als je code bekijkt zie je een aantal opties die je aan kunt passen. Zo kun je de kleur (en transparatie) van de achtergrond en letters aanpassen.
Wanneer je deze code wil gebruiken dien je de code te hebben opgeslagen (bijvoorbeeld als antispam.php) en geupload te hebben naar je server.
Vervolgens wil je de code gaan gebruiken op je site. Dit doen met behulp van de
e : het emailadres waarbij we || gebruiken in plaats van @ en :: in plaats van een punt. Dit om te voorkomen dat spambots het emailadres uit de src van de img haalt.g : de grootte van het lettertype. Een geheel getal van 1 tot en met 5. Standaard staat hij op 2.
Bijvoorbeeld:
HTML
- Code: Alles selecteren
<img src="antispam.php?e=testadres||mastercode::nl&g=4" alt="" />
We krijgen vervolgens die resultaat:
Errors
In de code zit een check ingebouwd. Je kan twee foutmeldingen krijgen namelijk:
- Theo
- Oprichter
- Berichten: 1795
- Geregistreerd: 11 Jun 2005 17:43
- Woonplaats: in_array()
1 bericht
• Pagina 1 van 1
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 1 gast