PHPhulp
 
 
Header image
Username: Password:   registreren | wachtwoord kwijt
 


PHP scripts

Veilige email adress weergave

Niveau: Beginner
PHP versie: 5
Categorie: Beginners
Voorbeeld: http://pbogaard.nl....ailnaarplaatje.php

Door Pepijn op 04.02.2010

Print versie PHP script

Toelichting:
Deze class vervangt alle email adressen in een tekst door een png plaatje met het e-mailadres. Deze plaatjes worden opgeslagen in de opgegeven directory, met als naam een hash van de oorspronkelijke naam. Deze directory moet je wel zelf aanmaken!

Op deze manier voorkom je dat spambots je e-mailadressen verzamelen.

Mvg
Pepijn

Edit:

Je hebt het volgende lettertype nodig: www.pbogaard.nl/phphulp/courier8.gdf
Dit lettertype opslaan doormiddel van rechtermuisknop->koppeling opslaan als en in de zelfde map als het script plaatsen
Edit2:
Voorbeeld toegevoegd.

Code:

 Selecteer deze code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?php
class mail2image {
    
    public 
$color;
    public 
$dir;
    
    public function 
__construct($color$dir) {
        
$this->color explode(','$color);
        
        
$this->dir $dir;
    }
    public function 
text($text) {
        
$text explode(' '$text);
        foreach (
$text as &$value) {
            if(
preg_match('/^[a-zA-Z0-9._-]+@[a-zA-Z0-9-]+\.[a-zA-Z.]{2,5}$/'$value))
            {
                
$this->gen_image($value);
                
$value '<img src="'.$this->dir.sha1($value).'.png">';
            }
        }
        return 
implode(' '$text);
    }
    private function 
gen_image($mail) {
        
$font imageloadfont('courier8.gdf');
        
$width imagefontwidth($font)*strlen($mail);
        
$height imagefontheight($font);
        
        
$image imagecreatetruecolor($width$height);
        
$trns imagecolortransparent($imageimagecolorallocate($image111)); //Gebruiken we hiervoor 0,0,0 dan kunnen we deze kleur niet meer voor de tekst gebruiken
        
$color imagecolorallocate($image$this->color[0], $this->color[1], $this->color[2]);
        
        
imagefilledrectangle($image00$width$height$trns);
        
        
imagestring($image$font00$mail$color);
        
        
imagepng($image$this->dir.sha1($mail).'.png');
        
imagedestroy($image);
    }
}

$image = new mail2image('0,0,0''afbeelding/'); //kleur van tekst, directory waarin afbeeldingen worden opgeslagen(zelf aanmaken)
echo $image->text('Hier komt je tekst met email adressen bijv. email@burgerking.com');
?>


Meer PHP scripts in deze categorie Meer PHP scripts in deze categorie

Reacties

Voeg ook een reactie toe.

Dani schreef op 04.02.2010 13:59
Handig, dit ga ik zkr gebruiken.!!

wesley schreef op 04.02.2010 14:07
Ja... Alleen als je heel veel email adressen hebt word je mooi wel gek van de ruimte dat het in beslag neemt.

Wel een leuk concept verder.

Pepijn, dat ben ik.
rofl.

Gewijzigd op 04.02.2010 14:08 door wesley

RichardvV schreef op 04.02.2010 14:15
Een e-mailadres hoor je gewoon altijd puur te laten zien, *altijd*.

Zorg voor een goed spamfilter, dan heb je nergens last van.

nosferatu schreef op 04.02.2010 14:26
gebruik de javascript charcode om de ascii waarde van je email weer te geven. iets meer moeite maar dan heb je alle voordelen van een tekst-email zonder dat spambots er gemakkelijk bij komen

Pepijn schreef op 04.02.2010 14:34
@Wesley,

ruimte valt wel mee, zo'n 4kb per email adress.

@nosferatu

Kan je daar een voorbeeldje van geven?

maurits schreef op 04.02.2010 15:17
@Pepijn, als je nu 80 mailadressen hebt(wel een beetje veel van het goede!!).
@Pepijn, google het ff.

SanThe schreef op 04.02.2010 16:00
@RichardvV: Wat een onzin.

RichardvV schreef op 04.02.2010 16:15
@SanThe: jij bent zeker usability-expert? Doe niet zo dom als je er niks van weet.

SanThe schreef op 04.02.2010 16:22
@RichardvV: Sorry hoor, maar ik moet opeens heel erg lachen.

Crispijn schreef op 04.02.2010 16:34
Santhe, je ziet toch aan de website liefcoden.nl dat Richard wel een hoop ervaring heeft met het maken van gebruikersvriendelijke websites ;)

SanThe schreef op 04.02.2010 16:38
@Crispijn: Ik zie niet zo veel op die site. Meeste moet nog komen blijkbaar. Maar hoe dan ook, ik moet lachen om zijn 'intelligente' opmerking.

GaMer13 schreef op 04.02.2010 16:44
@nosferatu

Kan je daar een voorbeeldje van geven?


Als hij het niet doet, doe ik het. Ik gebruik een framework waar zo'n soort functie inbegrepen is:

 Selecteer deze code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php

public static function email($email)
{
    
$safe '';
    foreach (
str_split($email) as $letter)
    {
        switch (
rand(13))
        {
            
// HTML entity code
            
case 1$safe .= '&#'.ord($letter).';'; break;
            
// Hex character code
            
case 2$safe .= '&#x'.dechex(ord($letter)).';'; break;
            
// Raw (no) encoding
            
case 3$safe .= $letter;
        }
    }

    return 
$safe;
}

Wim schreef op 04.02.2010 17:18
Kleur kiezen werkt ook niet:+
Verder leuk gedaan :-)

RichardvV schreef op 04.02.2010 17:47
Santhe, je ziet toch aan de website liefcoden.nl dat Richard wel een hoop ervaring heeft met het maken van gebruikersvriendelijke websites ;)

Grapjas, daar ben ik een tijd geleden mee bezig geweest maar stelt niks voor.

@Crispijn: Ik zie niet zo veel op die site. Meeste moet nog komen blijkbaar. Maar hoe dan ook, ik moet lachen om zijn 'intelligente' opmerking.

Allemachtig, moet meneer betweter zelf zeggen. :')

Ivo schreef op 04.02.2010 18:18
Jongens, wat is het nut van elkaar 'betweter' of iets dergelijks te noemen? Richard, vertel liever waarom het niet nodig is om mail adressen te verbergen voor bots, in plaats van te fitten op SanThe

RichardvV schreef op 04.02.2010 18:22
Ik zal het je uitleggen, heel simpel: les nummer 1 van usability: je site moet voor wie dan ook bruikbaar zijn. Oftewel, van een blinde met een spraakbrowser tot (bijvoorbeeld) mijzelf, met een browser die alles af kan handelen.

Doe je dit niet, dan kan dit zeer negatief uitpakken. Zoekbots (zoals die van Google) kunnen niet al je content lezen, wat weer kan zorgen voor een daling in positie omdat je cloaking-technieken gebruikt om content te verbergen.

Maar veel belangrijker: het is gewoon niet nodig. Spamfilters zijn extreem ver doorontwikkeld ondertussen, ik heb *nooit* spam ontvangen in mijn normale inbox. Mijn spambox bezwijkt ondertussen bijna onder de hoeveelheid spam maar dat is totaal niet belangrijk: ik zie het niet.

berdien schreef op 04.02.2010 19:57
Ik vind het een leuke oplossing voor kleine sites is het goed te doen.

Zunflappie schreef op 04.02.2010 21:51
Ik ben het eens met Richard.
Als ik een emailadres zie, wil ik erop klikken en dat mijn browser gewoon een nieuw emailbericht maakt, geaddresseerd aan dat adres.

En dan geen gekloot met kopieren (dat lukt hier zelfs niet), maar stomweg overtypen. Lang leve 2010.... overtypen.
Moet gewoon met een klik kunnen.

En spamfilters zijn inderdaad goed genoeg.

yorick17 schreef op 04.02.2010 22:17
gebruik liever trim ipv explode spatie, deze functie is er voor gemaakt. leuk script verder alleen ben ik niet zo'n voorstander van het idee.

Rik schreef op 04.02.2010 23:26
trim gebruik je om whitespaces te verwijderen, Pepijn gebruikt explode om over de woorden uit de string te kunnen itereren.

Pepijn schreef op 05.02.2010 00:24
RichardvV
Ik zal het je uitleggen, heel simpel: les nummer 1 van usability: je site moet voor wie dan ook bruikbaar zijn. Oftewel, van een blinde met een spraakbrowser tot (bijvoorbeeld) mijzelf, met een browser die alles af kan handelen.

Doe je dit niet, dan kan dit zeer negatief uitpakken. Zoekbots (zoals die van Google) kunnen niet al je content lezen, wat weer kan zorgen voor een daling in positie omdat je cloaking-technieken gebruikt om content te verbergen.

Maar veel belangrijker: het is gewoon niet nodig. Spamfilters zijn extreem ver doorontwikkeld ondertussen, ik heb *nooit* spam ontvangen in mijn normale inbox. Mijn spambox bezwijkt ondertussen bijna onder de hoeveelheid spam maar dat is totaal niet belangrijk: ik zie het niet.


Je hebt toch ook nog alt tags voor afbeeldingen? Dan neem ik aan dat zo'n brwoser voor slechtziende deze voorleest?

Steffan schreef op 05.02.2010 01:20
Zodat spambots het ook weer kunnen lezen??

toby hinloopen schreef op 05.02.2010 07:36
@die 2 boven me:
inderdaad, lekker snugger :P

Best handig script zo. Handig voor op een forum o.i.d.. Aangezien de e-mail adressen in een tekst worden omgezet lijkt het me ook daarvoor bedoeld.

Dit moet je natuurlijk niet met je contact pagina doen. Eventueel kan je, voor optimale user-experience, bij ingelogde leden de e-mail adressen niet omzetten in een plaatje maar in een mailto: link.

Zo kunnen spambots lekker zoeken (die loggen namelijk niet in) en gebruikers hebben er geen last van.

/Toby Hinloopen

Gewijzigd op 05.02.2010 18:27 door Bas Kreleger

RichardvV schreef op 05.02.2010 10:10
*sigh*

Ga alsjeblieft eens een cursus usability volgen, jullie snappen er echt niks van.

Elwin schreef op 05.02.2010 11:25
@RichardvV
Mss een mooie om als tutorial te schrijven?

RichardvV schreef op 05.02.2010 11:45
Het is niet zoveel om te begrijpen: zorg ervoor dat *iedereen* al je content *altijd* op een acceptabele manier kan bekijken. Daar komt het zo ongeveer op neer.

Pepijn schreef op 05.02.2010 12:40
RichardvV
*sigh*

Ga alsjeblieft eens een cursus usability volgen, jullie snappen er echt niks van.


Daarom zijn we hier maat, om van elkaar te leren. Maar zoals jij het stelt snap je dus alles al, dus ga gewoon weg.

RichardvV schreef op 05.02.2010 13:21
Waarom zou ik nog proberen iemand hier iets bij te brengen als niemand luistert?

Nou? :-)

Ivo schreef op 05.02.2010 14:42
Richard, je hebt waarschijnlijk wel de antwoorden maar als je blijft doen alsof je verheven bent over ons ( bijvoorbeeld met je *...*, wat lijkt alsof je vindt dat wij debielen zijn die niets vatten ) dan is het voor ons ook niet gemakkelijk.

Vooral omdat je niet directe antwoorden geeft op vragen, maar meer zegt dat wij sukkels zijn.

Daarom, begrijp me goed, ik twijfel niet aan de correctheid van je antwoorden maar je moet het wel een beetje fatsoenlijker uitleggen naar mijn mening.

Jeroen Kraaijkamp schreef op 05.02.2010 15:20
Hiermee ben ik het met Ivo eens. Ik hou daar totaal niet van als mensen doen of ze verheven zijn boven mij terwijl ze misschien wel het goede antwoord weten.

Verder, het script is leuk voor iemand met een kleine site maar ik ga het niet gebruiken. Het trekt mij niet zo ;)

nosferatu schreef op 05.02.2010 16:53
@richard,

wat je zegt klopt wel, maar wanneer er gevraagt word waarom je zegt wat je vind, dan kom je aan met standaard antwoorden als usability die iedereen allang gehoord heeft.

je geeft geen goeide argumenten op en toch verwacht je dat mensen jouw mening beter vinden dan hun eigen mening.

mening zonder goede argumentatie zal een mening met goede argumentatie nooit kunnen overtuigen, of het nou klopt of niet.

Waarom zou je email 'beveiligen'?
Tegen bots, is een goed argument, (ja er zijn andere alternatieven voor om bots tegen te houden maar dit is een simpele en effectieve manier.

Waarom zou je email 'gewoon' laten staan?
zodat mensen erop kunnen klikken en het email niet hoeven over te typen.

Conclusie gebasseerd op de 2 bovenstaande argumenten,
zoek een manier waarmee je op een email kan klikken zonder dat een bot deze kan lezen. De manier om dat te doen had ik genoemd maar geen voorbeeld van gegeven (deze heeft GaMer13 gegeven, ikzelf had iets anders in gedachten maar zijn voorbeeld is vele malen beter dus laat ik het bij de zijne)

RichardvV schreef op 05.02.2010 16:56
Alle-MACHTIG, jij moet zeker niet zo gaan doen want je hebt blijkbaar ook geen idee waar je het over hebt. Usability is *DE* reden.

nosferatu schreef op 05.02.2010 17:07
ik weet wel degelijk waar ik het over heb, en ik weet ook wat jij bedoeld,
Maar anderen niet, zoals volgens mij wel duidelijk is aan bovenstaande reacties,

LEG UIT WAAROM USABILTY DE REDEN IS

als je niet kan uitleggen waarom mensen bepaalde dingen moeten doen, probeer ze dan ook niet over te halen en blijf gewoon stil.

ik ga erop gokken dat het niet je bedoeling is, maar je komt nogal arrogant over, het is dus niet zo vreemd dat mensen je niet op je woord geloven

Gewijzigd op 05.02.2010 17:13 door nosferatu

RichardvV schreef op 05.02.2010 17:16
Dat zal ik dan nog maar weer even quoten:

Ik zal het je uitleggen, heel simpel: les nummer 1 van usability: je site moet voor wie dan ook bruikbaar zijn. Oftewel, van een blinde met een spraakbrowser tot (bijvoorbeeld) mijzelf, met een browser die alles af kan handelen.

Doe je dit niet, dan kan dit zeer negatief uitpakken. Zoekbots (zoals die van Google) kunnen niet al je content lezen, wat weer kan zorgen voor een daling in positie omdat je cloaking-technieken gebruikt om content te verbergen.

Maar veel belangrijker: het is gewoon niet nodig. Spamfilters zijn extreem ver doorontwikkeld ondertussen, ik heb *nooit* spam ontvangen in mijn normale inbox. Mijn spambox bezwijkt ondertussen bijna onder de hoeveelheid spam maar dat is totaal niet belangrijk: ik zie het niet.

nosferatu schreef op 05.02.2010 17:35
serieus... wat een gelul,

je email in afbeeldingen weergeven is zeker niet de manier en is zeker af te raden,

blinde mensen horen je e-mail niet... misschien behoren blinde mensen niet tot de doelgroep? Misschien word het dusdanig weinig gebruikt dat het te vergeven is? misschien zijn er andere manieren? (ja het is beter rekening met iedereen te houden en ik persoonlijk zou het aanbevelen maar niet iedereen denkt er hetzelfde over)

Je google-ranking zal er niet van zakken als je afbeeldingen gebruikt voor een email, ja, als je hele stukken tekst in afbeeldingen gaat zetten, is het een ander verhaal, tenzij je op google op dat specifieke email addres gaat zoeken zal je er weinig van merken

leuk dat jij geen spam krijgt, ik wel en ik ken zat mensen die het ook krijgen,
bovendien is een spamfilter bedoeld om te zorgen dat spam niet gelezen word terwijl email-cloacking (om het maar een naam te geven) bedoeld is om te zorgen dat het niet verzonden word, ofwel, voorkomen is beter dan genezen.

stop eens met alleen maar dingen vanuit jouw ogen te bekijken en bedenk ook s dat de prioriteiten die jij legt anders kunnen zijn bij die van anderen.

toby hinloopen schreef op 05.02.2010 18:26
Wtf, waarom zijn alle posts gepost door Bas Krakeling?
Inclusief mijn bericht nu...?

/Toby Hinloopen

Gewijzigd op 05.02.2010 18:27 door Bas Kreleger

nosferatu schreef op 05.02.2010 18:35
update foutje misschien? site gehackt? who knows...

GaMer13 schreef op 05.02.2010 19:28
Ik zal het je uitleggen, heel simpel: les nummer 1 van usability: je site moet voor wie dan ook bruikbaar zijn. Oftewel, van een blinde met een spraakbrowser tot (bijvoorbeeld) mijzelf, met een browser die alles af kan handelen.

Vind ik geen geldige reden, want deze doelgroep vind ik irrelevant om te bevredigen op internet gebied, wat betreft email adressen. Hele lappen tekst, oke, maar om wat spam te voorkomen, doe ik graag onder voor deze doelgroep.

Doe je dit niet, dan kan dit zeer negatief uitpakken. Zoekbots (zoals die van Google) kunnen niet al je content lezen, wat weer kan zorgen voor een daling in positie omdat je cloaking-technieken gebruikt om content te verbergen.

Zoekbots hoeven toch zeker niet email adressen op te slaan. Het gaat voor de zoekbots om relevante inhoud op je website. Dingen die je website omschrijven. Eén enkele verhuld email adresje zal daar geen invloed op hebben.

Maar veel belangrijker: het is gewoon niet nodig. Spamfilters zijn extreem ver doorontwikkeld ondertussen, ik heb *nooit* spam ontvangen in mijn normale inbox. Mijn spambox bezwijkt ondertussen bijna onder de hoeveelheid spam maar dat is totaal niet belangrijk: ik zie het niet.

Voor jouw niet. Ik erger me er vaak zat aan, aan het feit dat website gewoon mijn email adres online zetten op een loze profielwebsite. Daarom ben ik ook zo blij met Tweakers.net. Daar zetten ze op dezelfde manier als dit script dat laat zien, je email adres in een plaatje.

kickmyass schreef op 05.02.2010 20:14
poephoofden zijn jullie

hier kan niet meer op gereageerd worden vanaf....NU!!!

Gewijzigd op 05.02.2010 20:14 door

tracker Laatste PHP tutorials

10.02
30.01
22.01
19.01
30.12

tracker Laatste PHP scripts

04.02
31.01
30.01
30.01
30.01

tracker Laatste PHP boeken

03.11
04.10
04.05
11.03
03.08

tracker Laatste forum berichten

13:24
13:24
13:24
23:04
19:07
19:04
14:41
14:06
14:06
13:41
11:29
10:15

tracker Laatste reacties

13:27
Hoe kun je inlogge.. (PHP tutorial)
13:27
Hoe kun je inlogge.. (PHP tutorial)
13:27
Hoe kun je inlogge.. (PHP tutorial)
13:27
Hoe kun je inlogge.. (PHP tutorial)
13:27
Hoe kun je inlogge.. (PHP tutorial)
13:27
Hoe kun je inlogge.. (PHP tutorial)
13:27
Hoe kun je inlogge.. (PHP tutorial)
13:27
Hoe kun je inlogge.. (PHP tutorial)
13:27
Hoe kun je inlogge.. (PHP tutorial)
13:27
Hoe kun je inlogge.. (PHP tutorial)

PHP zoeken PHP zoeken

 Zoekterm

Zoeken in

tracker Voting poll

 Welke browser heeft jouw voorkeur?

Google Chrome
Mozilla Firefox
Internet Explorer
Apple Safari
Opera Software
Een andere browser


tracker Actieve leden

 
 Er zijn 41 gasten en 4 leden actief.
Actieve leden: peter-jan@blitz.nu, Arjen Halma, Marco, Wieland