Autor Zpráva
blaaablaaa
Profil
ahoj,
resim, jak ochranit emaily na strance proti spamum.
1.
napadlo me prevest vsechny znaky na entity, nevim vska, jestli to dnesni roboti
nerozlousknou:
viz. http://www.jaknaweb.com/ukazuj.php?f=1&i=172104&t=172104
(zdejsi forum je prevede na text)


2.
dalsi moznost je generovat adresu emailu jako obrazek, cimz ji ale bezny user
nebude moct beznym zpusobem zkopirovat (a js reseni mi nepripada nejlepsi).

3.
Pak jsem premyslel, zda cely odkaz nevlozit pres js document.write, cimz se ale
nezobrazi uzivatelum bez js.

Ktere reseni vam pripada nejlepsi? Nebo mate nejake jine? Diky
Joker
Profil
blaaablaaa
U sebe na webu to dělám takhle:
- Znaky jsou převedené na entity (u mě v patičce teda ne úplně všechny, ale to asi nehraje velkou roli), kolem zavináče navíc <span> a celé to je v odkazu, který nemá href, jen určitou CSS třídu:
<a class="kontakt">#109;ai#108;<span>#64;</span>it-jok#35;101;r#46;#99;z</a>
- Po načtení stránky se pustí Javascript, který vyhledá odkazy třídy "kontakt", vezme jejich vnitřek, vyhodí <span> a přidá "mailto:" a nastaví to tomu odkazu jako href.

Výsledek:
- Uživatel s Javascriptem má normální klikací odkaz
- Uživatel bez Javascriptu sice nemá klikací odkaz, ale vidí normálně adresu a může si ji zkopírovat
- Typický robot bude cucat adresy z odkazů, které vedou na e-mail (href="mailto:..."). Ten se tu nemá čeho chytit, protože href nastavuje až Javascript
- Pokud by robot znalyzoval kód stránky, má to alespoň pěkně okořeněné, získat adresu z tohohle, to už by musel být dost chytrý robot :-) ...každopádně podle mě půjde spíš po href u odkazů a zkrachne na předchozím bodě.

edit: nějak to rozhodilo můj záměr s těmi entitami...
jrm
Profil
Volím 2) + rozšíření: používám HID (http://hidentity.org/system.php?q=about). Odkaz je obrázek GIF, ve kterém se mění druhy spojení (mail, skype, telefon). Klinutím na obrázek spouštím skript s formulářem pro odeslání mailu...
blaaablaaa
Profil
Joker
diky, tenhle zpusob mi pripada zatim nejlepsi, pokud nikdo neprijde s necim lepsim, nejspis ho taky pouziju
blaaablaaa
Profil
jrm
1. HID pouzit nemuzu, jde o dynamicky vkladane emaily
2. email by mel byt volne pristupny ke zkopirovani a tvarit se jako normalni odkaz
keeehi
Profil
blaaablaaa
1. obrázek se dá upravit v PHP
blaaablaaa
Profil
keeehi
ja vim, psal jsem to v bode 2. ale chci, aby mel uzivatel moznost pomoci ctrl+c email zkopirovat
Joker
Profil
keeehi
obrázek se dá upravit v PHP
Pořád mi to moje řešení připadá lepší... respektive mi připadá lepší mít e-mail textově, aby si ho někdo mohl zkopírovat.
Zvláště když z neznámého důvodu většina lidí preferuje webové rozhraní e-mailu před e-mailovým klientem.
blaaablaaa
Profil
Joker
napr. v kavarnach netovych nemaji nastavene klienty, v praci nechteji posilat z firemniho mailu, ...
Jen_tak
Profil *
Já to dělám takto.
Vyděl jsem to někde na netu (tuším, že RS2).

<a href="mailto:mail@jpw.cz">
mail@<!-- Spam bot je

 trouba -->
jpw.cz</a>

A zavináče mám pomocí entit (nevím teď přesně jakou entitu má zavináč).
blaaablaaa
Profil
Jen_tak
#64; je zavinac
ale nevim, jestli tohle reseni bude stacit, psat spambot, tak asi budu hledat mailto: v odkaze ...
bohyn
Profil
blaaablaaa
psat spambot, tak asi budu hledat mailto: v odkaze ...
Tak pro neprevest na entity i to mailto?
href="m& #97;ilto& #58;mail& #64;moje.& #46;tld"
srigi
Profil
S tymi entitami si moc nefandite. Je to predsa strojovy zapis, ked to dokaze previest na znaky browser, tak to urcite dokazu aj boti. Vsak je to prachobycajna tabukla. Osobne si nemyslim ze by spamery pisali botov bez podpory entit. Naopak, myslim si, ze uz pracuju na Javascripte.
bohyn
Profil
srigi
S tymi entitami si moc nefandite. Je to predsa strojovy zapis, ked to dokaze previest na znaky browser, tak to urcite dokazu aj boti. Vsak je to prachobycajna tabukla.
S tim bych nesouhlasil. Parsovani dlouhych textu nejakou chvili trva a za tu dobu bot muze najit 10 jinych adres nesifrovanych. Parsovani entit pride na radu az zmizi nesifrovane adresy a az zmizi i sifrovane takpak teprve prijde na radu JS. Dneska JS prilis narocny na vypocetni vykon nez aby byl realne nasazen v robotech.
blaaablaaa
Profil
bohyn
tak to mam ted, nicmene asi pouziju Jokeruv zpusob - prijde mi jistejsi
SwimX
Profil
blaaablaaa
Soáuhlasím, Jokerova verze se mi líbí. Entity nevím, ale myslím, že je to málo. Dělat obrázwk přes phpko by bylo asi nejjistější (+náký čáry a tečky na náhodných pozicích) ale ne zrovna user-friendly.
Osobně do odkazů na emaily nedávám mailto: stejně, jak zde bylo řečeno, dost lidí nepoužívá klienty
mpscz
Profil *
Já to dělám takhle: vezmu PHP skriptem z DB e-mail, rozdělím ho (explode) na část před a za zavináčem a za tečkou.
Získám 3 proměnné, nakrmím jimi v PHP vygenerovaný JavaScript, který to potom zobrazí takhle: mailto:+cast1+@+cast2+.+cast3
Bubák
Profil
mpscz:
A čím jsou nakrmeni uživatelé bez JS?
blaaablaaa
Profil
Bubák:
Co treba neco takoveho (pisu v jQuery z hlavy, urcite tam budou chyby):
$(function(){
  $(".mail").each(function(i, el){
      var pattern = /^[A-Z0-9._%+-]+|[A-Z0-9.-]+\.[A-Z]{2,4}$/;
      var mail = $(el).html();
      var res = mail.match(pattern);
      if ( res[0] !=  undefined)  {
        $(el).replaceWith("<a href='mailto:"+res[0]+"'>"+res[0]+"</a>");
      }
  })
});

<noscript class="mail">pepa|seznam.cz (misto | pouzijte @)</noscript>

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0