![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 226 Pomógł: 17 Dołączył: 13.02.2012 Ostrzeżenie: (0%) ![]() ![]() |
Jak mogę sprawdzić czy kod podany przez usera, jest zgodny z tym co ma w obrazku. Mam plik captcha.php i wyświetla on grafikę captchową. Ale jak próbuję dorzucić tam formularz, który by sprawdzał poprawność to nie da rady, ponieważ zdefiniowane mam tam:
Co odbiera mi możliwość wprowadzenia tam formularza. Próbowałem z sesją. Dodałem na końcu captcha.php coś takiego:
A potem w pliku test.php:
Ale to nic nie daje...Jeśli w pliku captcha.php mam:
To wyświetla mi w test.php TYLKO grafikę (captchę), bez tego echa. Z kolei jeśli tej linijki nie mam to wyrzuca mi błąd: Kod Obrazek „http://test.pl/test.php” nie może zostać wyświetlony, ponieważ zawiera błędy. Jak to mogę sprawdzić? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 260 Pomógł: 14 Dołączył: 8.09.2011 Ostrzeżenie: (0%) ![]() ![]() |
http://www.google.com/recaptcha
Oto rozwiązanie twoich problemów. Jeżeli chcesz napisać kod który rozwiązuje jakiś problem, upewnij-się że twój kod będzie lepszy niż istniejące rozwiązania. http://pl.wikipedia.org/wiki/Antywzorzec_projektowy Odkrywanie kwadratowego koła (ang. Reinventing the square wheel) Rozwiązywanie problemu w zły sposób, podczas gdy istnieją skuteczne i sprawdzone rozwiązania. Na przykład tworzenie własnego systemu bazodanowego, zamiast wykorzystania istniejących darmowych rozwiązań, z dużym prawdopodobieństwem lepszych niż sami jesteśmy w stanie stworzyć. Pisałem własną captche kiedyś, nie jest to robota na tydzień, ani na 2 tygodnie. A teraz i tak uzywam reCaptchy. taką wlasna biblioteke trzeba debugowac, odpluskwiac, pielegnowac zeby byla uzyteczna, to bez sensu bo to odciaga od wlasciwego tworzenia aplikacji. Orobisz sie przy captchy, zabraknie ci sily na twoj portal. To jak skupic sie na produkcji kluczy bardziej niz na naprawach będąc mechanikiem samochodowym. jesli chcesz by twoja captcha byla skuteczna, musi: -generowac obrazki w locie -litery znieksztalcac beczkowatym (lub innym nielinearnym) znieksztalceniem -byc przystepna dla niewidomych -byc w miarę czytelna dla ludzi -trudna do zlamania przez boty -poprawne odpowiedzi dla każdego zadania wrzucac do bazy danych a nie do jakiejś smiesznej sesji do każdego zadania captchy generujesz token i wysyłasz go razem z formularzem na którym jest captcha, do bazy wpisujesz token i prawidlowe rozwiazanie zagadki, na koniec sprawdasz czy dla tego tokena rozwiazanie wpisane przez usera sie pokrywa z rozwiazaniem w bazie i hola. Dorzuc do tego jeszcze timestamp (i sprawdzaj czy ta captcha nie pochodzi z czasu pozniejszego niz np. 20 minut) i moze jakos tam to będzie działało. proste captche ze statycznych obrazków, lub skladane dynamicznie ale bez zadnych przeksztalcen to kaszka manna dla botów, i taką captcha nie uchronisz strony od botów, a co najwyzej wk...isz ludzi. Weź skrypt re-captchy, sformatuj ją pod swoje potrzeby, mozesz kompletnie zmienic jej wygląd, jak np tu: Przykladowa recaptcha ze zmienionym wygladem i smiga... PS. Sesja w PHP to jest akurat jedna z tych niewielu rzeczy, która jest do d...y i trzeba ten mechanizm sobie napisać samemu lub użyć innego gotowego, ale nie tego dostarczanego z PHP. Moze dobry framework załatwi sprawę? Obejrz sobie cakePHP, Kohanę, lub Symfony i wybierz cos dla siebie. Ten post edytował Orzeszekk 3.03.2012, 00:21:06 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 17.10.2025 - 13:56 |