Strona 1 z 2 12 OstatniOstatni
Pokaż wyniki od 1 do 10 z 12

Wątek: captcha

  1. #1
    Zarejestrowany
    Dołączył
    Aug 2008
    Posty
    94

    Domyślnie captcha

    Jak wszyscy wiemy captcha i recaptcha to najpopularniejsze sposoby zabezpieczania witryn. Niestety są one raczej niezbyt dobrym zabezpieczeniem - istnieją skrypty łamiące captcha a ludzi po prostu denerwuje to, że muszą costam przepisywać z obrazka, który trudno rozczytać, a już zupełnie jak się pomylą...
    Dlatego uważam, że powinniśmy omówić jakoś ten problem i rozwiązać go inaczej. Jest nas mnustwo, a co dwie (i więcej ) głowy to nie jedna.
    Zanim napiszę swój sposób chciałbym zapoznać się z waszymi opiniami na ten temat.
    Tylko dwie rzeczy na tym świecie są niesko??czone: wszechświat i ludzka głupota, a co do tego pierwszego, to nie jestem pewien
    Albert Einstein

  2. #2
    Zasłużony Awatar karer
    Dołączył
    Apr 2008
    Posty
    2,554

    Domyślnie

    captcha moze byc takze dzwiekowe. Jest to dosyc dobry pomysl bo ludzi potrafiacych to zlamac jest o wiele mniej.

    Do tego ruchomy gif. Nie statyczny obrazek ale taki poruszajacy sie. Najlepiej zeby litery byly czarne i poruszaly sie po trajektoriach ktore beda sie przecinaly.

    Zliczanie srednich odstepow miedzy odswierzaniem strony konkretnego gracza. Wtedy mozna rozpoznac czy to jest bot. Robimy dokladne logi z aktywnosci konta i na ich podstawie oceniamy czy konto jest na bocie.

    Jak cos mi wpadnie do glowy to dam znac...

  3. #3
    Zarejestrowany
    Dołączył
    Aug 2008
    Posty
    94

    Domyślnie

    Spotkałem się też z takim rozwiązaniem:
    masz bazę powiedzmy 100 obrazków jakichś prostych rzeczy z profilu (np. krowa, pies, pudełko itd.)
    Piszesz więc urzytkownikowi, żeby zaznaczył kliknięciem lub w dowolny inny sposób np. przedmioty nie będące pudełkeim, lub będące krową.

    Inny sposób:
    Jest sobie form.
    Każdy imput ma losowe name zapisane w sesji.
    Teraz pomiędzy imputami a słownymi napisami zlewej dajemy obrazek, który zostanie wygenerowany na podstawie: haslo to pole o name ja038gos83j i robi strzałkę z np. 5px w pionie po lewej do 15px w pionie po prawej.
    Tylko pytanie brzmi: Jak łatwo będzie napisać skrypt który odczyta która strzalka jest gdzie. Wydaje mi się, że to nie bedzie raczej sbyt proste zwlaszcza, gdy zrobimy durze odstpy w pionie i zrobimy kreski nie łączące niczego.
    Tylko dwie rzeczy na tym świecie są niesko??czone: wszechświat i ludzka głupota, a co do tego pierwszego, to nie jestem pewien
    Albert Einstein

  4. #4
    Zasłużony Awatar karer
    Dołączył
    Apr 2008
    Posty
    2,554

    Domyślnie

    dumdas rozwin troche drugi sposob bo kompletnie nie kapuje. Moze byc ciekawy ale nie wiem o co chodzi:
    "Teraz pomiędzy imputami a słownymi napisami zlewej dajemy obrazek"-brakuje po prostu gramatyki

    No i tak w sumie caly ten sposob opisales . Moze przyklad w paincie bedzie dla ciebie prostszy?

  5. #5
    Grupa MmoCenter Awatar Kiri
    Dołączył
    Sep 2007
    Posty
    1,741

    Domyślnie

    Niedawno widziałam totalnie poryte zabezpieczenie anty-bot'owe, było pytanie ile błędów jet w... tymże zdaniu (ortograficznych), mniej więcej cuś takiego:

    Wpiż słofnie ile jezd błenduf w tym ztanió:
    i trzeba było oczywiście wpisać słowie np: pięć
    Sio, nie pomagam via PM !



  6. #6
    Zarejestrowany
    Dołączył
    Aug 2008
    Posty
    94

    Domyślnie



    Pierwsza od lewej ramka
    Słowa są rozmieszczone losowo. Losowe są też odstępy między nimi. Słowa te określają tak jak w zwykłym formularzu które pole za co odpowiada.

    Druga ramka
    Tu jest właśnie całe zabezpieczenie. Czarne kreski łączą opis z polem informując użytkownika o tym, do którego pola ma wpisać swój nick, login hasło, gdzie je powtórzyć, gdzie podać email i tak dalej. Czerwone kreski nie łączą niczego z niczym dla utrudnienia. Docelowo mają one być takiego samego koloru, tutaj zrobiłem tak tylko dla waszego lepszego zrozumienia.

    Trzecia ramka
    Tutaj znajdują się imput'y. Każdy z nich ma losowy atrybut name. id jeżeli potrzebne, to możemy uzupełnić javascriptem: onLoad='this.id=this.name';. Można na pewno jakoś ulepszyć system zapisywania nazw pól, zapisać jakoś do czego się odnoszą i jakie jest name. Bo tablica jedno wymiarowa jakoś nie za bardzo, bo PHP musi też wiedzieć do którego to jest pola, żeby dopasować końcówki linii.

    Mam nadzieję, że teraz już jest wszystko zrozumiałe Rozumem raczej tęgim, to mnie Bóg obdarzył, ale zdolności polonistycznych, to nie mam
    Tylko dwie rzeczy na tym świecie są niesko??czone: wszechświat i ludzka głupota, a co do tego pierwszego, to nie jestem pewien
    Albert Einstein

  7. #7
    Zasłużony Awatar karer
    Dołączył
    Apr 2008
    Posty
    2,554

    Domyślnie

    no dumdas ciekawy pomysl. Oczywiscie do zlamania jak kazde inne captcha ale fajne rozwiazanie moim zdaniem.

    Ja wpadlem teraz na jeszcze jeden dosyc prosty pomysl:

    -generujemy przy losowaniu jak maja byc przestawiane znaki w hasle. Wygenerowany ciag przedstawiamy w postaci skryptu JS ktory bedzie uruchamiany przy nacisnieciu przycisku "submit". No i dzialamy w standardowy sposob czyli obrazek z kodem (jak kto chce to robi) tylko ze przed wyslaniem jest on przesiewany przez JS czyli ciag znakow ulega zmienia. Jesli program rozczyta literki to jeszcze bedzie musial przeparsowac JS aby znalezc ten prawdziwy ciag znakow

    Ogolnie proste rozwiazanie ale przysporzy baaardzo duzo trudu ludziom ktorzy nie sa dobrzy z kryptografii albo nie sa profesjonalistami (bo tacy to zawsze znajda sposob)

  8. #8
    Zarejestrowany
    Dołączył
    Aug 2008
    Posty
    94

    Domyślnie

    Teraz to ja nie do końca rozumiem
    generujemy przy losowaniu jak maja byc przestawiane znaki w hasle
    Czyli, że to jest ciąg "konfiguracyjny", który reguluje działanie skryptu? Czy chodzi Ci o zwykły ciąg znaków wyświetlanych na rysunku?
    Wygenerowany ciag przedstawiamy w postaci skryptu JS
    Zupełnie nie kapuję
    jest on przesiewany przez JS
    Czyli na pierwszy rzut oka odpada, bo JS jest dostępny w całości, chyba, że ??le Cię zrozumiałem.

    Wytłumacz mi dokładniej proszę.
    Tylko dwie rzeczy na tym świecie są niesko??czone: wszechświat i ludzka głupota, a co do tego pierwszego, to nie jestem pewien
    Albert Einstein

  9. #9
    Zasłużony Awatar karer
    Dołączył
    Apr 2008
    Posty
    2,554

    Domyślnie

    Dobra to od poczatku bo pisalem na szybko tego posta:

    -w php postepujemy tak samo jak w przypadku standardowego captcha z jedna roznica: jesli wygenerowany ciag to "snake" to na obrazku powinien sie wyswietilc jeden z wariantow zlozonych z tych liter np: "naske". Lecz skrypt i tak bedzie oczekiwal slowa "snake".
    -po stronie przegladarki pobierany jest obrazek i JS wygenerowany przez php. Tresc pliku bedzie sie zmieniala w zaleznosci od tego jak beda przestawiane litery w wyrazie. Ponadto ten plik w ktrym bedzie podawany kod JS musi z wyrazu "naske" tworzyc "snake" przy wysylaniu formularza.
    -przegladarka sciaga obrazek i kod JS z tymze kod JS od razu przechodzi przez parser. wpisujemy w pole input "naske". Przy wysylaniu JS wysyla juz "snake" przez co skrypt otrzymuje prawidlowe dane.

    Rozwiazanie baaaardzo trudne do zlamania przez osoby ktore nie stworza parsera JS. Emulowanie jezyka skryptowego jest trudna sprawa i wymaga wielkich zdolnosci. My mozemy tworzyc dynamicznie skrypty Js jak tylko chcemy. Juz rozumiesz?

  10. #10
    Zarejestrowany
    Dołączył
    Aug 2008
    Posty
    94

    Domyślnie

    Ta, teraz rozumiem, ale do tego nie potrzeba parsowania JS. Wystarczy, że będzie kod w postaci zwykłego string'a, a potrzebne informacje da się wyciągnąć wycinając kawałki i traktując je wyrażeniami regularnymi.
    BTW. Może ktoś się włączy w dyskusję? Bo równie dobrze mógłbym z Karer'em pisać na PW :P
    Tylko dwie rzeczy na tym świecie są niesko??czone: wszechświat i ludzka głupota, a co do tego pierwszego, to nie jestem pewien
    Albert Einstein

Strona 1 z 2 12 OstatniOstatni

Informacje o wątku

Użytkownicy przeglądający ten wątek

Aktualnie 1 użytkownik(ów) przegląda ten wątek. (0 zarejestrowany(ch) oraz 1 gości)

Podobne wątki

  1. [PORADNIK]Captcha
    Przez Mortis w dziale Poradniki xnova
    Odpowiedzi: 2
    Ostatni post / autor: 16-03-2010, 14:28
  2. Token (captcha) problem
    Przez maciek012 w dziale PHP / MySql
    Odpowiedzi: 7
    Ostatni post / autor: 24-10-2009, 21:15
  3. Captcha (rejestracja i logowanie)
    Przez rabid.xx w dziale Problemy przy tworzeniu własnej gry
    Odpowiedzi: 6
    Ostatni post / autor: 18-02-2009, 19:03
  4. Zabezpieczenie CAPTCHA (czy jakoó tak)
    Przez aso w dziale Problemy przy tworzeniu własnej gry
    Odpowiedzi: 8
    Ostatni post / autor: 02-12-2008, 15:23

Zakładki

Uprawnienia umieszczania postów

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •