Captcha - ochrana proti robotům
Napsal hary28 dne 29.07.2010 22:45 v Tvorba www stránek, PHP, MySQL | 0 komentářů
Možná nevíte co to CAPTCHA je, ale určitě sevám žu stalo, že jste udělali nějakou návštěvní knihu, kontaktní fomrulář nebo něco podobného a časem vám tam někdo přidával nesmyslné příspěvky. Není to nikdo, jsou o pouze roboti které člověk naprogramoval aby si dělal reklamu na internetu bez toho aby u něj musel sám sedět. Takových to ochran je na internetu mnoho. Nejznámější je asi sčítání dvou číslic např: 2+5 nebo poté jsou ochrany pomocí javascriptu které uživatel nevidí ale jsou také účinné. My se podíváme na captchu která sice uživatele obtěžuje, ale lidem kteří se o ten web starají hodně pomáhá.
Ukázky captchy:

Nyní se podívame na třídu pro captchu. Myslím si, že nemá cenu si psát vlastní, když na internetu je tolik krásně zpracovaných tříd a je jednoduché je použít. Já vám ukáži captchu od phpcaptcha.org.
Teď popíšu, jak captchu použít. Stáhnete si nejnovější verzi captchy z oficiálních stránek a poté rozbalte. Již máte připravený formulář do kterého pouze přidáte:
<img src="securimage_show.php?sid=<?php echo md5(uniqid(time())); ?>"><br /><input type="text" name="code" />
a také nezapomente na stránku kde máte umístěný formulář přidat session_start(); protože do session se bude zapisovat kód který budete poté kontrolovat s tím od uživatele.
Nyní máte nějaký script kde zpracováváte formulář. Do toho sciptu includujete soubor se třídou captchy a poté pomocí jednoduché podmínky zkontrolujete zda kód z captchy se rávná s kódem co napsal uživatel.
<?php
include("securimage.php");
$img = new Securimage();
$valid = $img->check($_POST['code']);
if($valid == true) {
echo "Děkujeme, kód je správný";
} else {
echo "Bohužel jste zadaly špatný kontrolní kód, zkuste to znovu!";
}
?>
A to je asi vše co by jste měli znát. Dozvěděli jste se co je to captcha a také jak použít třídu od phpcaptcha.org.