Miluji jednoduchá a zároveň funkční řešení. Tohle navíc neotravuje uživatele nějakým přepisováním zpitvořených obrázků/textů jako CAPTCHA. Toto jsem nevymyslel já, zahlédl jsem to někde ve světě WordPressu a od té doby to používám všude. Prozatím je to 100% ochrana proti spamu – respektive proti robotům.
Takže o co jde, jak na to. V běžném formuláři, který potřebujete ochránit, přidejte další INPUT, nazvěte ho třeba „antisp“ a napozicujte ho absolutně někam pryč ze stránky, aby nerušil a nepřekážel. Díky tomu ho běžný uživatel webu – rozuměj člověk – ani neuvidí a nebude ho tedy vyplňovat. Zatímco robot ho v kódu uvidí a vyplní. Pak jen stačí ošetřit situaci při validaci hodnot tak, že neprojde formulář s vyplněným polem „antisp“ a máte pokoj 🙂
Příklad:
[code]<?php
if (!is_null($_REQUEST[„antisp“]) and (isset($_REQUEST[„kontakt“]))){
@mail (‚obchod@fotok5.cz‘, „Ze stránek FOTO K5“, „Ozvěte se zákazníkovi na kontakt: „.$_REQUEST[„kontakt“], „From: ROBOT FOTO K5<robot@fotok5.cz>\nContent-type:text/html;charset=UTF-8\n“);
echo „<strong style=\“font-size:18px;\“>Váš kontakt byl odeslán, obratem Vám zavoláme / napíšeme.<br />Díky za Váš zájem :)</strong>“;
}else{ ?>
<form method=“post“ action=““>
Ano, mám zájem o Vaše služby!<br />Ozvěte se mi, prosím, na tel. č. / e-mail: <br />
<input name=“kontakt“ placeholder=“jmeno@email.cz / 724 456 456″ type=“text“ />
<input style=“position:absolute;top:-500px;“ name=“antisp“ type=“text“ />
<input type=“submit“ value=“Odeslat“ />
</form>
<?php }; ?>[/code]
Líbí se Vám toto řešení? Pošlete to dál!