Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kako podesiti anti-bot (captcha)?

[es] :: PHP :: PHP za početnike :: Kako podesiti anti-bot (captcha)?

[ Pregleda: 2123 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

BLACK_SWORD

Član broj: 212173
Poruke: 171
*.team.ba.

Sajt: www.artwebdizajn.com


+3 Profil

icon Kako podesiti anti-bot (captcha)?14.04.2010. u 11:44 - pre 169 meseci
Pozdrav,

napravio sam captachu

Code:
<?php

session_start();

$char='abcdefghijlkmnoprstuvzqyxABCDEFGHIJLKMNOPRSTUVZQYX123456789';
$size=strlen($char)-1;
for($i=0;$i<7;$i++)
    $string.=$char[rand(0,$size)];
$_SESSION['string']=$string;

$image=imagecreate(200,50);
$forground=imagecolorallocate($image,255,255,255);
$background=imagecolorallocate($image,48,77,184);
imagettftext($image,25,0,12,35,$background,'Walshes.ttf',$string);
header('Content-type:image/png');
imagepng($image);

?>


e sad me zanima kako da u formi napravim da kad korisnik ne unese ispravne znakove sa sličice da mu ispiše grešku "Niste upisali ispravne znakove sa sličice! ".

skripta znakove sprema u session al ja bi da to ne radim preko session jer djeluje mi nekako nesigurno

Code:
<form method="post" action="">
<table width="100%" cellpadding="5" cellspacing="0" border="0">
    <tr>
        <td class="srednjitext"><b>Vizualna provjera:</b></td>
    </tr>
    <tr>
        <td class="malitext">Unesite znakove koji su prikazani na slici.</td>
    </tr>
    <tr>
        <td><img src="captcha.php" alt="" /></td>
    </tr>
    <tr>
        <td><input size="20" type="text" name="anti_spam" /></td>
    </tr>


    <tr>
        <td><input type="submit" class="but" name="registruj" value="Registruj se!" /></td>
    </tr>
</table>
</form>

 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-a-5.sezampro.rs.



+33 Profil

icon Re: Kako podesiti anti-bot (captcha)?14.04.2010. u 12:06 - pre 169 meseci
Većina implementaija captcha-e koristi sesiju za skladištenje tih znakova sa slike, pa ne vidim zašto bi ti sad izmišljao nešto novo... Zašto bi nekome bilo u interesu da pokuša da hack-uje tu captcha proveru, kako bi je eto zaobišao? Time se tek potvrđuje da se radi o korisniku, a ne o nekom spam bot-u. A druga stvar, ne verujem da postoje toliko sofisticirani bot-ovi, koji su opremljeni nekim algoritmom za hack-ovanje sesije. Tako da, bolje gledaj da unaprediš (zakomplikuješ) sam ispis captcha slike, jer to je u stvari najvažnija stvar, pošto ti bot-ovi uglavnom rade na principu analiziranja piksela sa slike, u cilju očitavanja kodne poruke.
 
Odgovor na temu

BLACK_SWORD

Član broj: 212173
Poruke: 171
*.team.ba.

Sajt: www.artwebdizajn.com


+3 Profil

icon Re: Kako podesiti anti-bot (captcha)?14.04.2010. u 12:22 - pre 169 meseci
ok onda cu ostaviti u session,

a kako sad da napravim funkciju ako korisnik ne unese ispravne znakove sa sličice da mu ispiše grešku?
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-a-5.sezampro.rs.



+33 Profil

icon Re: Kako podesiti anti-bot (captcha)?14.04.2010. u 12:56 - pre 169 meseci
Pa nema tu sad funkcije, u onom delu gde radiš validaciju, za taj element forme koji predstavlja captcha-u samo ispitaš:
Code:
if ($_POST['anti_spam'] == $_SESSION['anti_spam']) {
   //ispravna captcha validacija
}

Naravno, nazivi tog tekstualnog polja i sesije treba da budu oni koje si i stavio u svom kodu...
 
Odgovor na temu

Goran Rakić
Beograd

Moderator
Član broj: 999
Poruke: 3766

Sajt: blog.goranrakic.com


+125 Profil

icon Re: Kako podesiti anti-bot (captcha)?14.04.2010. u 13:56 - pre 169 meseci
BLACK_SWORD, moj iskren savet je da batališ te copy-paste vodiče koje čitaš i iz kojih izvlačiš blokove koda i ozbiljnije pročitaš neku knjigu o programiranju.
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
 
Odgovor na temu

[es] :: PHP :: PHP za početnike :: Kako podesiti anti-bot (captcha)?

[ Pregleda: 2123 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.