Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Token - ulepszenie działania
Forum PHP.pl > Forum > Przedszkole
desavil
Witam, czy mógłby ktoś poprawić działanie poniższego tokena. Tak, aby był jeszcze lepszy i skuteczniejszy?
  1. <?php
  2. $slowo = substr(str_shuffle("ABCDEFGHIJKLMNOPRSTUWXYZ0123456789"), 0, 5);
  3. $_SESSION['captcha'] = sha1($slowo);
  4. $wysokosc = 28;
  5. $szerokosc = 97;
  6.  
  7. $pic = ImageCreate($szerokosc,$wysokosc);
  8. $bialy = ImageColorAllocate($pic,38,38,38);
  9. $czarny = ImageColorAllocate($pic,255,255,255);
  10. $szary = ImageColorAllocate($pic,150,150,150);
  11.  
  12. ImageFill($pic,1,1,$bialy);
  13.  
  14. for($i=0;$i<250;$i++){
  15. $los1=rand(0,$szerokosc);
  16. $los2=rand(0,$wysokosc);
  17. ImageLine($pic,$los1,$los2,$los1,$los2,$szary);
  18. }
  19.  
  20. for($i=0;$i<strlen($slowo);$i++){
  21. $rozmiar=rand(2,5);
  22. ImageString($pic,$rozmiar,$i*20+4,5,trim($slowo[$i]),$czarny);
  23. }
  24.  
  25. header('Content-type: image/png');
  26. ImagePNG($pic);
  27. ?>


Pozdrawiam!
Beacri
możesz dać zamiast:
  1. $bialy = ImageColorAllocate($pic,38,38,38);
  2. $czarny = ImageColorAllocate($pic,255,255,255);
  3. $szary = ImageColorAllocate($pic,150,150,150);


kod:

  1. $kolor1=ImageColorAllocate($pic,rand(0,255),rand(0,255),rand(0,255));
  2. $kolor2=ImageColorAllocate($pic,rand(0,255),rand(0,255),rand(0,255));
  3. $kolor3=ImageColorAllocate($pic,rand(0,255),rand(0,255),rand(0,255));
  4.  

przy czym, możesz zdefiniować więcej kolorów, np inny dla każdej litery.

No i proponuję rozważyć Recaptcha:
http://www.google.com/recaptcha
desavil
Użyłbym, gdyby możnabyło wyświetlić sam obrazek bez tej ich ramki czerwonej itp.
Bo chyba aby używać bez to jest płatne? Czy się mylę?
Beacri
U góry po prawej masz napisane:
"reCAPTCHA IS A FREE ANTI-BOT SERVICE (...)"

wiec darmowe jest.

A co do czerwonej ramki to wydaje mi się, że dało się to zmienić.

EDIT:
Tu masz sposób jak zmienić kolor ramki:
http://code.google.com/p/cb-recaptcha/wiki/reCAPTCHAcolors
desavil
Znalazłem takie coś:
http://www.google.com/recaptcha/demo/custom

Czyli wnioskuję, że mogę zostawić sam obrazek, input oraz napis czy odświeżyć?
A podpis reCaptha usunąć, bez konsekwencji?
Beacri
Ja bym zostawił podpis. Po pierwsze, korzystasz z czyjejś pracy, a po drugie użytkownik widząc logo, będzie mieć poczucie bezpieczeństwa (o ile mniej więcej będzie coś kumał w tej kategorii).
xxdrago
@OT, ja tak chciałem dodać , iż reCAPTCHA nie jest najlepszym rozwiązaniem, jeżeli już z gotowców to polecałbym www.phpcaptcha.org można ją dowolnie modyfikować dodawać linie zmieniać itp. reCAPTCHA nie jest już skuteczna, dlaczego? Dużo serwisów z niej korzysta a co za tym idzie dużo automatów pod nią jest pisane.

Pozdrawiam,
i życzę wesołych świat.
Beacri
@xxdrago:
Nie znałem tego, wygląda porządnie smile.gif

Również życzę wesołych Świąt wszystkim smile.gif
desavil
A wiecie jak zrobić takie grube pofalowane linie w GD jak tutaj?: http://www.phpcaptcha.org/securimage3/secu...323307766724dd9

Radosnych Świąt! smile.gif
Crozin
Cytat
Czyli wnioskuję, że mogę zostawić sam obrazek, input oraz napis czy odświeżyć?
A podpis reCaptha usunąć, bez konsekwencji?
Cytat
When showing reCAPTCHA to the user, is it possible not to show the reCAPTCHA logo?
We allow you to customize the theme of reCAPTCHA with our Client API. You are still required to have text on your website which states that you are using reCAPTCHA, however with our theming API, you are free to do this in a way that blends in to your site.


@xxdrago: reCAPTCHA jest nadal bardzo, bardzo skuteczna, w przeciwieństwie do zaproponowanego przez Ciebie phpcaptcha.org. Nie bez powodu największe serwisy nadal z niej chętnie korzystają.
Beacri
Niestety, nie ogarniam krzywych, ale proste masz opisane w manualu:

http://php.net/manual/de/function.imageline.php
Crozin
@desavil: Te linie nie mają praktycznie żadnej wartości jeżeli chodzi o utrudnienie odczytania, możesz więc sobie takie coś w ogóle darować.
desavil
Ale jednak tokeny, np. z phpcaptcha.org składają się tylko z napisu i tych linii w kolorze takim samym jak napis.
Dominator
Nie polecam recaptchy. Jest shitem. Mam w pełni działający skrypt, który nie wymaga przepisywania kodu z obrazka.
xxdrago
@Crozin, maszz racje, ale tak jak napisałem miełem nie polecam, boty bez problemowo przepisywało kod z obrazka. phpcaptcha - boty może mają szanse ją rozpoznać, ale tak jak napisałem można ją bezproblemowo edytować, dodawać zmieniać.

Pozdrawiam
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.