Jak zrobić zabezpieczenie formularza metodą obrazkową (Captcha)
2007-06-13 21:56
Poniższy skrypt ma już cztery lata. Być może można zrobić to jeszcze prościej, nie wnikam. Osobiście średnio preferuję taką metodę zabezpieczania formularza, lecz jest ona wszechobecna i przyszło niegdyś mi się z takim problemem zmierzyć. Może ktoś będzie potrzebował:
- Wersja demo
- Źródła
- Całość do pobrania
oznacza wygenerowanie stringu, składającego się tylko i wyłącznie z dużych liter i cyfr, obciętego do 6 znaków. Dodatkowo str_replace zastępuje znaki do siebie często podobne literą "X". Wszystko po to, aby po doborze kiepskiej czcionki użytkownicy nie łamali sobie głowy, czy 1 to I lub 0 to O.
Wykorzystuję funkcję imagettftext do nałożenia tekstu na obrazek. Pierwszy parametr $i określa zmienną, która przechowuje uchwyt do obrazka nad którym pracujemy. Kolejno rand(-7, 7) to kąty generowanego tekstu, rand(1, 20) losowy odstęp w osi x, ceil(...) to odmierzenie wysokości obrazka, podział tego na 2 i dodanie 10 (aby tekst był mniej więcej na środku). imagecolorallocatealpha() definiuje nam kolor tekstu - ostatni parametr (tutaj 60) to określenie transparentności napisu. Można eksperymentować. Kolejno to ścieżka do fontu oraz tekst captchy.
Powodzenia.
Komentarze
Marusz @ 78.8.59.*
wysłany: 2009-08-16 22:01
Już poprawione.
Piotrek @ 93.105.83.*
wysłany: 2010-02-02 10:11
Wygląda fajnie szkoda tylko że nie wysyła na maila tego formularza a pod mój skrypt nie potrafie tego podpiąć może ktoś wie w którym miejscu trzeba wkleić linijke
aby wysłało mi maila, w komentarzu to pewnie raczej nie dostane odpowiedzi :/
Marusz @ 78.8.52.*
wysłany: 2010-02-02 10:59
Witaj. Najlepiej użyj klasy phpmailer (stąd: http://tinyurl.com/n37j5q). Opis jak wysłać e-mail poprzez tą klasę znajdziesz tutaj: http://tinyurl.com/ylynl95
kamila @ 78.16.248.*
wysłany: 2010-02-06 12:48
Witam.
Sciagnelam juz pliki ale nie bardzo wiem gdzie je podpiac :(
moge prosic o łopatologiczny wyklad co dalej z tym?
z gory dziekuje i pozdrawiam
kisiell @ 83.8.18.*
wysłany: 2010-05-28 15:58
Wie ktoś może jak to można podpiąć pod formularz rejestracji? ale chciałbym żeby tylko był kod do przepisania ,i po tym mozna bylo sie rejestrowac.
Rejestracja
Powrót do logowania
Login :
E-Mail :
GG :
Nr. Tel. :
Hasło :
Powtórz hasło :
jezeli wie ktoś jak to zrobić to proszę niech napisze na : qazwer8@o2.pl to wtedy podam kod php rejestracji
pff @ 87.105.51.*
wysłany: 2010-05-28 21:49
sam se napisz a nie frajera szukasz! a jak nie potrafisz, to znajdz kogos, kto ci to napisze za siano

freebox @ 89.107.158.*
wysłany: 2008-10-13 22:58
ba, ale linki nie działają...