Igor Kulman

Ako chrániť svoju emailovú adresu na webe

· Igor Kulman

Niekedy potrebujete na vašich webových stránkach uverejniť emailovú adresu, napríklad pri kontaktných informáciách, nechcete však, aby ju našiel každý spamový robot a zároveň chcete, aby bola dobre čitateľná pre vašich návštevníkov. Všimol som si už mnoho spôsobov, medzi najčastejšie patrí uvádzanie adresy v tvare nieco(at)nieco(dot)sk alebo nieco(zavinac)nieco(bodka)sk. Tieto spôsoby už dávno nie sú také účinné ako kedysi, minimálne ten prvý už zvládne každý spamový robot. Existujú však aj iné metódy, ukážem vám dve, ktoré sa mi zapáčili.

Ochrana pomocou CSS

V CSS knižnici servera Interval.cz som našiel článok [Skrytí e-mailu před harvestery e-mailových adries](http://css.interval.cz/clanky/skryti-e-mailu-pred-harvestery-e- mailovych-adres-antispam/) s naozaj geniálnou myšlienkou, udávať emailovú adresu odzadu s tým, že o jej správne zobrazenie sa postará prehliadač pomocou aplikácie CSS štýlu.

.pozpatku
{
unicode-bidi:bidi-override;
direction: rtl;
color:#c00;
}

Použitie:

<span class="pozpatku">ks.ocein@ocein</span>

Toto riešenie je naozaj zaujímavé a dobre použiteľné, problém nastáva, iba ak chcete vytvoriť na danú adresu mailto odkaz.

Ochrana pomocou Smarty

Šablónovací engine Smarty obsahuje funkciu mailto na generovanie mailto odkazov, dokáže však aj kódovanie emailovej adresy pomocou hex hodnôt a javascriptu.

Ak chcete emailovú adresu zakódovať pomocou hex hodnôt, použite funkciu s parametrom encode=hex, teda

{mailto address="nieco@nieco.sk" encode="hex"}

Výsledkom bude odkaz pozostávajúci z hex hodnôt s tým, že aj samotný prefix mailto: bude zakódovaný a pre priemerného spamového robota neviditeľný.

Ďalšou možnosťou je zakódovanie adresy pomocou JavaScriptu

{mailto address="nieco@nieco.sk" encode="javascript"}

Oba spôsoby môžete samozrejme skombinovať podĺa podpory JavaScriptu v prehliadači

{mailto address="nieco@nieco.sk" encode="javascript"}
<noscript>
{mailto address="nieco@nieco.sk" encode="hex"}
</noscript>

Ak nepoužívate šablónovací engine Smarty nevadí, môžete túto funkciu využiť ako klasickú PHP funkciu, nájdete ju medzi Smarty pluginmi a môžete ju používať vo svojich skriptoch, celé Smarty je pod GNU LGPL licenciou.