Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Formularze i obrazki zabezpieczające
owned
post
Post #1





Grupa: Zarejestrowani
Postów: 88
Pomógł: 1
Dołączył: 27.12.2007

Ostrzeżenie: (0%)
-----


Witam!

Chcę zabezpieczyć formularz kontaktowy na stronie przed robocikami. Uzyję do tego sposobu na przepisanie kodu z obrazka. Czy napisanie skryptu który załaduje losowo 1 z 5 obrazków dostatecznie pozwoli chronić formularz, czy też roboty bez problemu obejdą takie zabezpieczenie?
Go to the top of the page
+Quote Post
luki100011
post
Post #2





Grupa: Zarejestrowani
Postów: 243
Pomógł: 20
Dołączył: 20.04.2004
Skąd: Wielkopolska

Ostrzeżenie: (0%)
-----


Skorzystaj z gotowca np:
http://recaptcha.net/


to tylko 5 kombinacji łatwo trafić w ciemno znając opcje.


--------------------
Go to the top of the page
+Quote Post
kfc4
post
Post #3





Grupa: Zarejestrowani
Postów: 195
Pomógł: 18
Dołączył: 7.10.2007

Ostrzeżenie: (0%)
-----


http://www.webtips.pl/post9584.html http://www.webtips.pl/post25355.html .
Go to the top of the page
+Quote Post
Adis92
post
Post #4





Grupa: Zarejestrowani
Postów: 146
Pomógł: 12
Dołączył: 9.01.2009
Skąd: Płock

Ostrzeżenie: (0%)
-----


Ja używam takiego prostego tokena
Kod generujący:
  1. <?
  2. function passgen() {
  3. $nr = floor(time() / 3600);
  4. srand(array_sum(explode(" ", microtime())) * 100000);
  5. $a = rand(0, min(getrandmax(), $nr));
  6. $b = $nr - $a;
  7. $a = base_convert($a, 10, 36);
  8. $b = base_convert($b, 10, 36);
  9. $a = strrev(str_pad($a, max(strlen($a), strlen($b)), 0, STR_PAD_LEFT));
  10. $b = str_pad($b, max(strlen($a), strlen($b)), 0, STR_PAD_LEFT);
  11. for($i = 0; $i < strlen($a); $i++) $pass .= $a[$i].$b[$i];
  12. return $pass;
  13. }
  14. header("Content-type: image/png");
  15. $img = imagecreate(140, 30);
  16. $background = imagecolorallocate($img, 255, 255, 255);
  17. $textcolor = imagecolorallocate($img, 65, 162, 223);
  18. imagestring($img, 5, 10, 7, passgen(), $textcolor);
  19. imagejpeg($img);
  20. imag
  21. ?>

Kod sprawdzający poprawność:
  1. function passcheck($pass) {
  2. $nr = floor(time() / 3600);
  3. for($i = 0; $i < strlen($pass); $i++)
  4. if($i % 2 == 0) $a .= $pass[$i]; else $b .= $pass[$i];
  5. $a = base_convert(strrev($a), 36, 10);
  6. $b = base_convert($b, 36, 10);
  7. if($a + $b <= $nr && $a + $b >= $nr - 2) return true;
  8. return false;
  9. }

Ps. Ten kod nie jest napisany przeze mnie ale nie pamiętam autora.
Go to the top of the page
+Quote Post
Flameman
post
Post #5





Grupa: Zarejestrowani
Postów: 9
Pomógł: 1
Dołączył: 21.08.2009

Ostrzeżenie: (0%)
-----


Lub też zamiast korzystać z gotowców poducz się PHP gd,wtedy niedość,że zdobędziesz nową wiedze,to jeszcze bedziesz miał unikalne catchpa:)
Możesz skorzystać na przykład z tego(pierwsze kroki w gd): http://www.webtips.pl/post5040.html
Go to the top of the page
+Quote Post
owned
post
Post #6





Grupa: Zarejestrowani
Postów: 88
Pomógł: 1
Dołączył: 27.12.2007

Ostrzeżenie: (0%)
-----


dzięki wielkie. Zabieram się do napisania własnego biggrin.gif czas poznać gd
Go to the top of the page
+Quote Post
luki100011
post
Post #7





Grupa: Zarejestrowani
Postów: 243
Pomógł: 20
Dołączył: 20.04.2004
Skąd: Wielkopolska

Ostrzeżenie: (0%)
-----


Jak już piszesz własne to zapoznaj się z tym:

http://pornel.net/captcha

Aby nie napisać captcha który nic nie daje poza utrudnieniem dla normalnego użytkownika.



--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 10:13