Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Zabezpieczenie przed botami w formularzach, captcha chyba nie zdaje egzaminu
bor1904
post
Post #1





Grupa: Zarejestrowani
Postów: 131
Pomógł: 1
Dołączył: 15.10.2009
Skąd: gdańsk

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


Witam,
Mam na stronce różne formularze, które obecnie zabezpieczam przez captcha.

W skrócie wygląda to tak:
pod hidden w html wysyłany jest skrót md5 słowa na obrazku (value) i od razu zapisywany jest do sesji skrót md5 "captcha word".

użytkownik odczytuje słowo z obrazka i wpisuje je do inputa.

w skrypcie na początku zamieniam to co wpisał użytkownik na md5 i porównuje : skrót tego co wpisał , ze skrótem w zmiennej sesyjnej i tym co jest w polu hidden.

Więc jak na moje amatorskie oko nie idzie w żaden sposób wyciągnąć "captcha word" - oprócz odczytania z obrazka albo wykonania md5 powrotnie.

Obrazek generowany i jego czytelność można zobaczyć tutaj:

KLIK

Według mnie jest on mało czytelny dla "amatorskich" botów... czy się mylę?



Dostaje wiadomości o podobnej treści :
Cytat
ED0tqH
<a href="http://iimhljdvwxzc.com/">iimhljdvwxzc</a>, nqscneusiyqx, [link=http://johpzynwgkqp.com/]johpzynwgkqp[/link], http://jidajwoswetv.com/

Adres nadawcy:
wjmxxo@ceskgj.com


Proszę o sugestie i wskazówki

pozdrawiam

PS: koło3 miesięcy nie dostawałem żadnego spamu a teraz ok 3 razy dziennie (wiec stosunkowo rzadko)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
Johnas
post
Post #2





Grupa: Zarejestrowani
Postów: 650
Pomógł: 16
Dołączył: 5.07.2010
Skąd: Ściśle Tajne

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


ReCaptcha


--------------------
Jak coś jest dobre, to nie znaczy że nie może być to lepsze - Ideały nie istnieją ;D
Strony internetowe Świnoujście
Go to the top of the page
+Quote Post
bor1904
post
Post #3





Grupa: Zarejestrowani
Postów: 131
Pomógł: 1
Dołączył: 15.10.2009
Skąd: gdańsk

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


Czyli tym samym uważasz, że captcha na mojej stronie jest czytelna ? tzn zbyt czytelna ?
Go to the top of the page
+Quote Post
Johnas
post
Post #4





Grupa: Zarejestrowani
Postów: 650
Pomógł: 16
Dołączył: 5.07.2010
Skąd: Ściśle Tajne

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


nie mówię że jest czytelna tylko ReCaptcha nie została złamana przez żadne boty. Do tego możesz dać jakieś pytania typu 2+8= ale sama ReCaptcha by wystarczyłą moim zdaniem

---------------------------------------------------
EDIT
---------------------------------------------------
Do tego do twojej textarea dodał bym wartość max-width w css aby nie wychodziła poza tło wink.gif


--------------------
Jak coś jest dobre, to nie znaczy że nie może być to lepsze - Ideały nie istnieją ;D
Strony internetowe Świnoujście
Go to the top of the page
+Quote Post
bor1904
post
Post #5





Grupa: Zarejestrowani
Postów: 131
Pomógł: 1
Dołączył: 15.10.2009
Skąd: gdańsk

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


Poza jakie tło ?

Według mnie nic nie wychodzi...
Go to the top of the page
+Quote Post
wNogachSpisz
post
Post #6





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

Ostrzeżenie: (40%)
XX---


http://caca.zoy.org/wiki/PWNtcha
Go to the top of the page
+Quote Post
erix
post
Post #7





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
pod hidden w html wysyłany jest skrót md5 słowa na obrazku (value) i od razu zapisywany jest do sesji skrót md5 "captcha word".

użytkownik odczytuje słowo z obrazka i wpisuje je do inputa.

w skrypcie na początku zamieniam to co wpisał użytkownik na md5 i porównuje : skrót tego co wpisał , ze skrótem w zmiennej sesyjnej i tym co jest w polu hidden.

A nie możesz przesyłać ID formularza po prostu? Trzymanie nawet zahashowanego captcha, to głupota trochę.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
bor1904
post
Post #8





Grupa: Zarejestrowani
Postów: 131
Pomógł: 1
Dołączył: 15.10.2009
Skąd: gdańsk

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


Tylko, chciałbym jakichś konkretów w sensie wyjaśnień.
Dlaczego tak uważacie ?

Z tego co piszesz wynikało by że boty ze skrótu md5 tworzą słowo początkowe, tak ?
Go to the top of the page
+Quote Post
erix
post
Post #9





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




"Tak", to znaczy?

Cytat
Z tego co piszesz wynikało by że boty ze skrótu md5 tworzą słowo początkowe, tak ?

A jaki to problem? Przeszukanie tęczowych tablic, to coraz łatwiejsze zadanie.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
darko
post
Post #10





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


http://akismet.com/


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
wNogachSpisz
post
Post #11





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

Ostrzeżenie: (40%)
XX---


Dokladnie, zwykłe md5($capchta) nie zda egzaminu.
Capchty składają się zazwyczaj z 5-6 znaków alfanuerycznych,
każda szanujaca się baza rainbow tables zawiera wszystkie możliwe kombinacje 5 i 6 znakowe..

Jednakże można się przed tym zabezpieczyć w bardzo prosty sposób, wystarczy zamiast md5($capchta) dać np. md5( $_SERVER['HTTP_HOST'] . $capchta );
krótko mówiąc doczepiać do hashowanego ciągu znaków nazwę domeny na której działa strona,
w ten sposób praktycznie uniemożliwiamy łamanie za pomocą rainbow-tables...
Pozostaje brute-force, co przy 5 znakowej capchcie jeszcze ma sens, przy 6cio znakowej, ten sens staje się mglisty...

Tak czy owak, moje pytanie brzmi: Po co tak robic?
Twoje rozwiązanie jest potencjalne niebezpieczne.
Lepiej dać kompletnie losowy hash i trzymać w bazie relacje między nim a capchtą jakiej odpowiada.

Twoje rozwiązanie ma słabe i mocne strony, oto jak ja to widze:

Plusy:
- mniejsze obciążenie serwera, nie potrzebujemy trzymać w bazie relacji hash->capchta
- możliwość sprawdzenie poprawności capchty jeszcze przez wysłaniem formularza (po stronie przeglądarki)

Minusy:
- duże ryzyko przełamania 5cio znakowej cacphty
- średnie ryzyko przełamania 6cio znakowej cacphty
- niskie ryzyko przełamania 7mio znakowej capchty

Moja rada:
Jeśli nie zależy Ci na wydajności za wszelką cenę, odpuść sobie to rozwiązanie i poprzestań na bezpieczeniejszym przechowywaniu capchty w bazie danych.

Ten post edytował wNogachSpisz 2.03.2011, 09:26:43
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: 21.08.2025 - 06:32