Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Alternatywa dla CAPTCHA
Forum PHP.pl > Forum > Przedszkole
ilidir
Witam znacie jakieś ciekawe alternatywy dla formularza rejestracyjnego wykorzystującego CAPTCHA. Czytałem że algorytmy niektórych gigantów zostały złamane więc ciekawi mnie jak radzicie sobie z ochronom przeciwko spamowaniu.

pozdrawiam
!*!
Nie ma alternatywy, są tylko gorsze rozwiązania.
ilidir
to w takimrazie jakie rozwiązanie możecie z czystym sumieniem polecić questionmark.gifquestionmark.gif
Daimos
Cytat(!*! @ 15.11.2014, 12:00:12 ) *
Nie ma alternatywy, są tylko gorsze rozwiązania.

Gorsze? Bzdury opowiadasz.
Wszystko zależy od serwisu i grupy docelowej, przykład to honeypot. Umożliwia to korzystanie z serwisu osobom z wadami wzroku.
Damonsson
Honeypot vs captcha, w kwestii user friendly to przecież 100 do 0. A skuteczność nawet lepsza, bo do własnego honeypota, nie da się ściągnąć gotowych rozwiązań jak do Captchy.
!*!
Cytat(Daimos @ 15.11.2014, 13:44:07 ) *
Gorsze? Bzdury opowiadasz.
Wszystko zależy od serwisu i grupy docelowej, przykład to honeypot. Umożliwia to korzystanie z serwisu osobom z wadami wzroku.


Mógłbyś wskazać mi poprawną implementację honeypota? Odnoszę wrażenie, że mamy na myśli dwie różne rzeczy.
Daimos
Nie wiem czym dla Ciebie jest prawidłowa implementacja honeypota. Prawidłowa to taka, gdzie ktoś wykazał się inwencją.
Dobrze napisany skrypt potrafi porządnie zabezpieczyć przed spamem.
Kolejnym przykładem alternatywy są zabezpieczenia polegające na interakcji użytkownika (np. drag & drop).
Użerałem się sporo w sprawie captchy w temacie WCAG i jest to niestety najgorszą metodą (aczkolwiek skuteczną), jaką można stosować w "dostępnym" serwisie. Np. takie popularne reCaptcha z miejsca odrzuca duży odsetek niepełnosprawnych osób, które zwyczajnie nie są w stanie odczytać tekstu - niewidomi i niedowidzący. Dodatkowo traci się też użytkowników, którzy po drugim błędnym przepisaniu też dadzą sobie spokój.
--edit
I jeszcze jedno, jak wspomniałem, wszystko zależy od serwisu. Robienie captchy np. na stronie Pana Zdzisia, który zajmuje się hydrauliką, to przerost formy nad treścią. W wielu serwisach, banalny honeypot wystarczy. Nie rozumiem, kiedy ktoś przy prostej aplikacji, robi zabezpieczenia przed spamem na wyrost. Dlaczego użytkownik ma cierpieć? Nie raz usuwałem captche z serwisu na życzenie klienta i nawet honeypota nie zostawiałem. Czasami tylko jakiś hash w sesji i tyle. Są po prostu serwisy (a właściwie większość serwisów), gdzie nikomu nie będzie zależało, żeby napisać indywidualne rozwiązanie do wysyłania formularza.
!*!
@up i właśnie dlatego chciałem, abyś pokazał jakiś działającą, dobrą implementację. Wszystkie znalezione wyniki w google, dotyczące php, pythona sprowadzają się do wprowadzenia jakiś bzdur, które mają z zabezpieczeniem tyle wspólnego co podanie hasła do serwera w jawnej formie jako h1 na stornie. Dla mnie honeypot to część sieci, niekiedy kwestia sprzętu.
Daimos
Cytat(!*! @ 17.11.2014, 10:23:15 ) *
@up i właśnie dlatego chciałem, abyś pokazał jakiś działającą, dobrą implementację. Wszystkie znalezione wyniki w google, dotyczące php, pythona sprowadzają się do wprowadzenia jakiś bzdur, które mają z zabezpieczeniem tyle wspólnego co podanie hasła do serwera w jawnej formie jako h1 na stornie. Dla mnie honeypot to część sieci, niekiedy kwestia sprzętu.

Prosty przykład, najprostszy.
Formularz kontaktowy wspomnianego Pana zdzisia hydraulika. Ukryte pole o nazwie name, email i odrzucanie wiadomości w przypadku, kiedy zostaną uzupełnione, to Twoim zdaniem równoważne z podaniem hasła do serwera w tagu h1? smile.gif A skuteczność bardzo dobra.
!*!
Cytat(Daimos @ 17.11.2014, 17:42:41 ) *
Prosty przykład, najprostszy.
Formularz kontaktowy wspomnianego Pana zdzisia hydraulika. Ukryte pole o nazwie name, email i odrzucanie wiadomości w przypadku, kiedy zostaną uzupełnione, to Twoim zdaniem równoważne z podaniem hasła do serwera w tagu h1? :) A skuteczność bardzo dobra.


Miałem nadzieję że podasz inny przykład niż te które znalazłem. To jakaś bzdura, a nie zabezpieczenie... Po co Ci te ukryte pola, skoro ktoś kto będzie chciał zaspamować cały system nie będzie wiedział nawet o ich istnieniu, nawet nie będzie się męczył żeby to "obejść" bo zwyczajnie nie ma czego... I to jest to świetne rozwiązanie?
Daimos
Jak ktoś będzie chciał zaspamować, to można go chwilowo zatrzymać np. limitem wiadomości, a później wdrożyć lepsze zabezpieczenie. Kto będzie sobie głowę zawracał, pisaniem indywidualnego rozwiązania, żeby zaspamować komuś formularz kontaktowy? O to cały czas mi chodzi. Dla mnie captcha to jest ostateczność i częściej zajmuje się usuwaniem jej z innych serwisów, niż wdrażaniem w nowych.

Powiedz mi z innej strony, skoro cały czas napierasz na to, że honeypot jest zły. W jaki sposób niewidomy ma skorzystać ze strony z Twoim captcha? Nie może, a dlaczego? Bo uważasz, że ktoś wejdzie i zepsuje Ci formularz.

To podam Ci inny przykład rozwiązania (kolejny, prosto z głowy):
Dwa pola o nazwie email i name. Jedno z nich losowo ukrywam i musi być puste, a drugie odkrywam. Przy wypełnieniu złego pola, blokada na ip, może być czasowa (bo użytkownik tego nie zrobi). Operacja całkowicie losowa, złe? Dalej miliony robotów wpada Ci do formularza? Bez przesady. Większość spamerskich robotów w sieci, to automaty do wordpressa itp. gotowych rozwiązań. Żeby zostać potraktowanym indywidualnym robotem, atakiem, czymkolwiek, trzeba sobie na to zasłużyć. Wtedy można skupiać się na lepszych rozwiązaniach.

---- edit
Chyba nie zrozumiałeś zasady ukrytego pola. Robi się tam nazwę kuszącą typu email itp. a robot automatycznie je wypełnia i wtedy ip jest blokowane. Robot musi wypełnić jakieś pola, jak trafi na złe, to ma problem, więc nie rozumiem dlaczego piszesz, że system nie będzie wiedział o ich istnieniu ? ;/ Przeczytaj trochę o honeypot

PS. pokaż też mi formularze kontaktowe z captcha. Jeśli już, to pewnie są to wdrożone zabezpieczenia, po tym, jak ktoś się mocno napalił na te serwisy. Dlatego powtórzę, to co napisałem na początku. Wszystko dobieramy do potrzeb, do serwisu
ilidir
no dobra a czy ma sens wdrazanie takiego rozwiazania w przypadku formularzy rejestracyjnych użytkowników do strony?questionmark.gif
!*!
Jest WCAG, dopuszcza on captche, ale tylko jeśli umożliwimy korzystanie z innego zmysłu. Zakładam, że chodziło im o słuch, bo trudno wyniuchać obowiązkowe pola. A teraz pytanie ile osób o tym słyszało, a ile się dostosowało?

Cytat
Kto będzie sobie głowę zawracał, pisaniem indywidualnego rozwiązania, żeby zaspamować komuś formularz kontaktowy?

Spamerzy z reguły zawracają sobie głowę, nawet jeśli jest to strona Pana Zdzisia, bo kto bogatemu zabroni.

Cytat
Powiedz mi z innej strony, skoro cały czas napierasz na to, że honeypot jest zły. W jaki sposób niewidomy ma skorzystać ze strony z Twoim captcha? Nie może, a dlaczego? Bo uważasz, że ktoś wejdzie i zepsuje Ci formularz.

Nie napisałem że honeypot jest zły. Honeypot w Twoim wykonaniu jest kiepski, ponieważ daje Ci fałszywe poczucie bezpieczeństwa (obejście captchy zajmuje nieco dłużej, nawet z gotowymi regułkami, niż przejrzenie źródła strony). Tak, niewidomi z reguły mogą mieć problemy i mają spore chociażby przy zakładaniu skrzynki email, jeśli nie ma opcji głosowej, to są zmuszeni poprosić kogoś o pomoc. Opcja głosowa nie jest również wyjściem, ponieważ automat może być za szybki, albo tłumaczenie będzie w obcym języku. Podobna sytuacja jest u Ciebie, program czytający źródło strony może źle zinterpretować Twoje pola tak samo jak nie rozpozna kotka na zdjęciu.

Cytat
Wszystko dobieramy do potrzeb, do serwisu

Tu się zgodzę. Jednak wolę, aby te... 2%? ludzi poprosiło inną osobę o pomoc, tudzież odsłuchało wiadomość głosową niż zostawiać formularz bez zabezpieczenia.
Daimos
Jesteśmy na forum php, więc domyślam się, że robisz także proste strony, poważnie, z ręką na sercu, nawet przy prostych stronach, w formularzach kontaktowych robisz captche? snitch.gif

Honeypot jest idealny dla niewidomych, bo pole można dobrze opisać. Spamer po zerknięciu w źródło strony nie wpadnie od razu na pomysł, jak to obejść (np. losując, podmieniając nazwy pól, załatwiając część po stronie js).

Cytat
Jednak wolę, aby te... 2%? ludzi poprosiło inną osobę o pomoc


Tu masz dobry argument, ale niestety w niektórych serwisach to nie przejdzie, przykładem są projekty Państwowe. Każda organizacja, która przeprowadza audyty WCAG w pierwszych punktach zaznacza, że captcha jest do usunięcia. Tak jak Ty, nie spotkałeś się z dobrym honeypotem (bo zazwyczaj ich nie widać wink.gif ), tak ja nie spotkałem się z polską captchą, którą lektor dobrze czyta - zresztą nigdy takiej nie będzie.
!*!
Cytat(Daimos @ 18.11.2014, 08:26:16 ) *
Jesteśmy na forum php, więc domyślam się, że robisz także proste strony, poważnie, z ręką na sercu, nawet przy prostych stronach, w formularzach kontaktowych robisz captche? :>

Napisałem Ci już że honeypot to różne warianty i ten z formularzem jest najsłabszy. Można to rozwiązać chociażby z poziomu nagłówków. Nie pamiętam już kiedy ostatni raz implementowałem captche, choć robiłem do głównie przy formularzach rejestracyjnych i nieudanych próbach logowania, bo nie ukrywajmy rozleniwiło Nas to kiedyś ;)
Złotego środka nie znajdziemy, przynajmniej nie teraz (patrz 1 mój post tego tematu :D)
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.