| | Temat wykladu: |
| | Spam: Działanie tokenów «CAPTCHA» i filtrów antyspamowych. (by JaBoJa, 2007-11-21) @ wyklady.net |
| | Komentarze: http://forum.wyklady.net/index.php?topic=123.0 |
20:24 | JaBoJa | Bierzący wykład poświęcony będzie tokenom CAPTCHA i innym (alternatywnym) metodom unikania spamu w formularzach na stronach www. |
20:24 | JaBoJa | Od razu uprzedzę że wykład będzie miał dwie części. |
20:25 | JaBoJa | Dziś poruszę temat od strony teoretycznej, a za tydzień chciałbym pokazać parę praktycznych przykładów zabezpieczania formularzy. |
20:25 | JaBoJa | I łamania takich zabezpieczeń. |
20:25 | JaBoJa | Plan dzisiejszego wykładu: |
20:26 | JaBoJa | 1. Niedoróbki stosowanych w internecie tokenów CAPTCHA |
20:26 | JaBoJa | 2. Przykłady technik ich łamania |
20:27 | JaBoJa | 3. Możliwości ulepszeń |
20:27 | JaBoJa | 4. Techniki alternatywne do tekstowych kapcz |
20:27 | JaBoJa | 5. Gotowe skrypty |
20:28 | JaBoJa | A więc zacznijmy. |
20:28 | mith | filtry typu sblam > captcha ;> |
20:28 | MaK | test turinga > chatpcha ;p |
20:29 | JaBoJa | Zacznijmy od wad kapcz widocznych z punktu widzenia internauty. |
20:29 | JaBoJa | Podstawową jest oczywiście nieczytelność |
20:30 | JaBoJa | Przykład można zobaczyć na tej stronie: http://tiny.pl/j1fh |
20:30 | JaBoJa | A tu jeszcze dobitniejszy: http://tiny.pl/j1fx |
20:31 | JaBoJa | Złe dobranie parametrów, czy wręcz stosowanie technik utrudniających czytanie ludziom, a nie maszynom daje efekty podobne do powyższych. |
20:32 | JaBoJa | Do takich technik, które utrudniają sprawę tylko ludziom można zaliczyć: |
20:32 | JaBoJa | 1. Rozmycie |
20:32 | JaBoJa | Dla bota ono jest pomocne, bo umożliwia usunięcie kłopotliwego szumu |
20:32 | JaBoJa | Zresztą można je usunąć zmieniając głębię koloru do dwóch (czerń/biel) |
20:33 | JaBoJa | Mimo to zdażają się kapcze które z powodu niewiedzy swych projektantów są rozmyte. |
20:34 | JaBoJa | 2. Szum w postaci losowych pikseli, odcinków, krzyżyków und so weiter... |
20:34 | JaBoJa | Generalnie zasada jest taka, że wszystkie elementy których grubość jest mniejsza od grubości liter są łatwe w usunięciu. |
20:35 | JaBoJa | Jak? Wystarczy rozmyć obrazek, wtedy takie elementy zrobią się szare, a litery będą we wnętrzu czarne. |
20:35 | JaBoJa | Potem tylko powyżej tego odcienia szarości, ale poniżej czerni liter dajemy próg i zamieniamy obraz na czarno-biały |
20:36 | JaBoJa | 3. Kolorki - doprawdy genialny wynalazek, nie wiem kto na to wpadł, pewnie się inspirował rUshOffYMi bl0gaSkAmi |
20:37 | JaBoJa | I to ułatwia łamanie takiej kapczy |
20:37 | JaBoJa | Spójrzmy: |
20:37 | JaBoJa | |
20:38 | JaBoJa | Kto zgadnie jak oddzielić od siebie poszczególne literki w tym obrazku? |
20:38 | JaBoJa | Dla uproszczenia powiem, że po przekonwertowaniu na odcienie szarości obrazek byłby trudny do komputerowego złamania. |
20:38 | JaBoJa | Ale uwaga! Wbrew pozorom nie chodzi tu tylko o wyraźnie różne kolory! |
20:39 | fr3 | hm... a siec neuronowa nie poradzi? |
20:39 | JaBoJa | Nawet użycie róznych odcieni szarości dla liter może nieco uprościć sprawę (szczególnie jeśli glify nie przecinają się). |
20:39 | JaBoJa | są prostsze metody niż sieci neuronowe ;) |
20:39 | JaBoJa | ale o tym później |
20:40 | deus | a proporcje barw podstawowych uwzglednic nie wystarczy? |
20:40 | Seti | wypełnianie zamkniętych przestrzeni? |
20:40 | JaBoJa | tak |
20:41 | JaBoJa | Z innych trywialnych błędów (notabene są one wymienione na stronie PorneLa: http://pornel.net/captcha) |
20:41 | JaBoJa | 4. Niski kontrast |
20:41 | JaBoJa | Tu sprawa chyba jest dość oczywista |
20:42 | JaBoJa | 5. Odtwarzalne tło - to już mniej oczywiste, ale też może ułatwić |
20:42 | Ewin|class | lol |
20:43 | JaBoJa | 6. Stałe pozycje liter (tu, jak pisze PorneL, wystarczy sprawdzanie kilku pikseli aby odróżnić litery) |
20:45 | JaBoJa | Oczywiście kapcze mogą mieć też wady innego rodzaju. |
20:45 | JaBoJa | Dosyć łatwym do nadużycia, acz na pierwszy rzut oka niewidocznym błędem jest kilkukrotne przyjmowanie tej samej odpowiedzi. |
20:46 | JaBoJa | To znaczy jeśli kapcza w formularzu raz odczytana może posłużyć do wysłania tego formularza wiele razy. |
20:47 | JaBoJa | Więcej o tym problemie można poczytać na stronie: http://tnij.com/aok |
20:47 | JaBoJa | Co złego jeszcze można rzec o kapczy... |
20:48 | JaBoJa | Dla ludzi jest ona uciążliwa sama w sobie - o tym trzeba pamiętać i nie używać jej zbyt pochopnie! |
20:48 | JaBoJa | A jeśli już używamy to warto minimalizować ilość sytuacji kiedy trzeba ją wypełniać. |
20:49 | JaBoJa | Konkretniej chodzi o to, aby pamiętać fakt rozpoznania użytkownika jako człowieka w sesji. |
20:49 | JaBoJa | Wtedy przy kolejnym np. wysyłaniu komentarza nie musi on już nic wpisywać. |
20:50 | JaBoJa | No oczywiście trzeba też pilnować aby w tej sesji ten "człowiek" nie wysłał 1000 postów / min |
20:51 | JaBoJa | Dlatego mimo użycia kapcz nie należy spoczywać na laurach i jeśli to możliwe dawać ograniczenia czasowe. |
20:51 | JaBoJa | Zresztą floodować mogą i zwykli użytkownicy. |
20:51 | JaBoJa | Więc warto wprowadzać takie ograniczenia. |
20:52 | JaBoJa | Przejdźmy teraz do przykładów łamania takich tokenów. |
20:53 | JaBoJa | Z góry jednak uprzedzam że mimo iż wiele osób opracowało dosyć dobre łamacze kapcz, to nie są one publikowane przez nie w internecie, z prostej przyczyny, że służyłyby do niecnych celów. |
20:54 | JaBoJa | Z przykładów można wymienić słynną PWNtcha: http://sam.zoy.org/pwntcha |
20:54 | JaBoJa | Oraz Gimpy: http://tnij.com/gimpy |
20:55 | JaBoJa | Dla uczciwości wymienię jeszcze stronę, z której zaczerpnąłem obrazek do przykładu z kolorami: |
20:55 | JaBoJa | http://ocr-research.org.ua/list.html |
20:56 | JaBoJa | No i może, żeby pokazać dobitniej prostotę łamania trywialnych pacz - łamacz kapcz z phpBB: |
20:56 | JaBoJa | http://www.licenciadavillegas.com.ar/post/2007/09/Breaking-the-phpBB-CAPTCHA.aspx |
20:57 | JaBoJa | Ale uwaga! |
20:57 | JaBoJa | Dobra kapcza może nas dosyć dobrze zabezpieczyć przed botami ogólnego przeznaczenia, |
20:57 | JaBoJa | ale nie zabezpieczy nas przed botami pisanymi pod nasz serwis. |
20:58 | JaBoJa | Otóż, nawet jeśli nie da się jej w istocie złamać maszynowo, to istnieje inna metoda. |
20:59 | JaBoJa | Jest to metoda pornograficzna, która polega na tym, że autor strony porno wyświetla na swojej stronie kapcze zaczerpnięte np. z Yahoo |
20:59 | JaBoJa | Odwiedzający stronę, aby zobaczyć kolejne zdjęcia, wpisują kapcze, a automat za każdym razem zakłada nowe spamerskie konto Yahoo. |
21:00 | JaBoJa | Rzecz jasna można to zaadaptować również do innych stron. |
21:00 | JaBoJa | I jak na razie nie ma 100% zabezpieczenia kapcz przeciw temu (są natomiast inne metody zabezpieczania niż kapcza, które tej wady nie mają). |
21:02 | JaBoJa | Ba! Tak na prawdę rozważania nad zabezpieczeniem się przed tym widziałem tylko na stronie autora KittenAuth (o nim będzie później, bo też ciekawa sprawa). |
21:03 | JaBoJa | Teraz przejdźmy do ulepszeń (włączając wmieniony KittenAuth) mechanizmu CAPTCHA. |
21:03 | JaBoJa | W internecie jest wiele różnych sugestii w tej kwestii, ja wybrałem 4 z nich. |
21:04 | JaBoJa | Primo: używanie pełnych słów (lub przynajmniej wymawialnych ciągów liter) |
21:04 | JaBoJa | Ma to taką zaletę, że nawet jak ktoś nie przeczyta litery, to może się domyślić jakie to słowo. |
21:05 | JaBoJa | Zresztą, człowiek pamięta słowa jako dźwięki |
21:05 | JaBoJa | Przykład: |
21:05 | JaBoJa | fizolof & filozof (jak szybko zauważysz różnicę między nimi?) |
21:05 | JaBoJa | Więc jeśli słowo będzie prosto wymawialne to mniejsza szansa na pomyłkę |
21:07 | JaBoJa | Secundo: Można wymagać poprawnego podania tylko części liter (np. 5 na 7) |
21:07 | JaBoJa | Ale w poprawnej kolejności. |
21:07 | JaBoJa | Człowiek może np. pomylić "c" z "e", ale granice między literami zwykle widzi |
21:07 | JaBoJa | Boty z kolei mają tendencję do nierozróżniania granic m-dzy literami (a przynajmniej tak powinno się robić kapcze, aby nie mogły tych granic łatwo rozróżnić) |
21:09 | JaBoJa | I tu dochodzimy do tertio: Unikanie lub utożsamianie ze sobą podobnych liter |
21:09 | JaBoJa | Np. "O" i "0" |
21:10 | JaBoJa | Albo "l" (małe L), "I" (duże i), "1" (jeden) |
21:10 | JaBoJa | Lepiej nie używać ich w kapczy bo niepotrzebnie mylą człowieka |
21:10 | JaBoJa | No chyba że używamy kroju pisma, który ma te czcionki zaprojektowane tak, aby były łatwo rozróżnialne |
21:11 | JaBoJa | No i wreszcie, quartio: Zdjęcia zamiast liter |
21:12 | JaBoJa | Prekursorem w tej kwestii był autor kapczy KittenAuth |
21:12 | JaBoJa | Różni się ona tym od zwyczajnych kapcz, że... |
21:13 | JaBoJa | ...zamiast przepisywać literki musimy zaznaczyć które ze zdjęć przedstawiają koty. |
21:13 | JaBoJa | W oryginale było 9 zdjęć (kratka 3x3), i wybierało się trzy. |
21:14 | JaBoJa | Dawało to jednak zbyt mało kombinacji (84), więc pojawiła się idea, aby rozszerzyć kratkę do 16 pól (4x4) |
21:14 | JaBoJa | oraz aby wybierało się nie dokładnie 3 zdjęcia, ale dowolną (losową) ilość |
21:15 | JaBoJa | W ten sposób liczba kombinacji wzrasta do 42656 |
21:15 | JaBoJa | Co jest już dość rozsądną liczbą |
21:15 | JaBoJa | Można oczywiście dalej zwiększać ilość zdjęć, ale to już odbija się negatywnie na wygodzie użytkowania. |
21:16 | JaBoJa | Oficjalna strona projektu KittenAuth: http://tnij.com/7k4 |
21:16 | JaBoJa | Strona o tym, że M$ ukradł autorowi ten pomysł: http://tnij.com/7k5 |
21:17 | JaBoJa | Na tejże stronie zresztą jest piękny zrzut ekranu z KittenAuth: |
21:17 | JaBoJa | |
21:17 | JaBoJa | Jak widać taka kapcza może być nawet pozytywnie odbierana przez użytkownika. |
21:18 | JaBoJa | (byle nie musiał klikać tych bidnych kotków przy każdym komentarzu pisanym na stronie) |
21:19 | JaBoJa | Co więcej, pojawiła się sugestia że taka kapcza może nieco psuć metodę pornograficzną. |
21:19 | JaBoJa | Jak pisze autor: "Use a set of pictures too cute for porn" |
21:19 | JaBoJa | Oczywiście nie jest to skuteczność 100% |
21:20 | JaBoJa | Ale pomysł ciekawy |
21:20 | JaBoJa | Bo nie tyle techniczny co psychologiczny |
21:20 | JaBoJa | Oczywiście pojawiła się też sugestia aby dodawać na obrazku napisy w stylu: |
21:20 | JaBoJa | "Every time you masturbate God kills a kitty" |
21:20 | JaBoJa | albo |
21:21 | JaBoJa | "Nie używaj tej CAPTCHy jeśli pojawia się na stronie pornograficznej" |
21:21 | JaBoJa | Temat pozostawiam do przemyślenia... |
21:22 | JaBoJa | Ale mogę się przyznać że ja osobiście chciałem użyć tej kapczy na jednej ze stron nie tyle w celu zabezpieczenia, co jako atrakcję dla użytkownika. |
21:22 | JaBoJa | Są jakieś pytania? |
21:23 | Seti | jak bardzo opcja: przepisz podane litery z obrazka (z ograniczeniem słownym - które) utrudnia działanie decaptcherów? |
21:24 | JaBoJa | Masz na myśli sytuację, gdy trzeba przepisać np. 1, 3 i piątą literę? |
21:24 | JaBoJa | Jeśli tak to jest to dość skuteczne, o ile oczywiście nie piszą bota pod twoją stronę. |
21:24 | JaBoJa | Ale wydaje mi się że zbyt upierdliwe dla użytkownika by to stosować. |
21:25 | JaBoJa | Jeśli jednak chcesz to robić, to mogę ci polecić podawanie liczb jako element kapczy, co jeszcze bardziej utrudni botowi zabawę. |
21:26 | JaBoJa | Są jeszcze jakieś niejasności, czy mogę kontynuować? |
21:27 | JaBoJa | OK, a więc przejdźmy do alternatyw dla CAPTCHA. |
21:27 | JaBoJa | Może zacznijmy od kapcz dźwiękowych, jako że one tak na prawdę są troszkę inną formą CAPTCHA. |
21:27 | JaBoJa | Należy ich w miarę możliwości używać obok tych graficznych, bo dają szansę osobom niewidomym. |
21:28 | JaBoJa | Nie należy jednak zapominać, że rozpoznawanie głosu ludzkiego jest możliwe. |
21:28 | JaBoJa | Więc tak jak wcześniej pisałem: na stronach gdzie grasują boty ogólnego przeznaczenia się to sprawdzi, |
21:29 | JaBoJa | ale na stronach pod które się pisze specjalizowane boty może być problem. |
21:29 | JaBoJa | (tam należy raczej unikać CAPTCHA) |
21:30 | JaBoJa | Z innych ciekawych alternatyw dla obrazkowych CAPTCHA wymienić można testy na inteligencję. |
21:30 | JaBoJa | Jak na przykład rozwiązywanie prostych działań matematycznych. |
21:31 | JaBoJa | Jest nawet taki gotowy projekt o nazwie "Do You Pass Math". |
21:31 | JaBoJa | Ma on taką zaletę, że zadania formuuje słownie |
21:31 | JaBoJa | więc bot musi najpierw zrozumieć o co się go pyta zanim zabierze się za rozwiązywanie właściwego równania |
21:32 | JaBoJa | Co można ponadto powiedzieć o testach na inteligencję: |
21:32 | JaBoJa | Jego podstawowa wada, czyli problemy u mniej inteligentnych użytkowników, to często zaleta. |
21:32 | JaBoJa | Bo pozwala odfiltrować tych których poziom nie dostaje do poziomu naszej strony. |
21:33 | JaBoJa | Zresztą, aby podlizać się użytkownikowi można napisać że to po to żeby sprawdzić czy nadaje się do odwiedzenia strony. |
21:34 | JaBoJa | W ten sposób będzie potem dumny że ma dostęp do takiej "elitarnej" strony (tak, celowo wyolbrzymiam). |
21:35 | JaBoJa | Poniżej podaję linki do dwóch przykładów implementacji: |
21:36 | JaBoJa | "Did You Pass Math?" - http://www.herod.net/dypm/ |
21:36 | JaBoJa | "Ruby Quiz - Match Captcha" - http://rubyquiz.com/quiz48.html |
21:37 | JaBoJa | Co jednak ciekawe, nie zawsze nawet trzeba wymagać od użytkownika wpisywania czegokolwiek. |
21:38 | JaBoJa | Okazuje się bowiem, że boty ogólnego przeznaczenia zatrzymuje nawet zwykłe pole checkbox, które użytkownik musi zaznaczyć. |
21:38 | JaBoJa | Np. z etykietką "Oświadczam że wpisana wiadomość nie zawiera reklam." |
21:39 | JaBoJa | Głupie boty nie przeczytają do czego ono służy, oleją je i summa summarum post nie dojdzie. |
21:39 | JaBoJa | Można też w drugą stronę: niech bot będzie identyfikowany po tym że WYPEŁNIŁ pole a nie po tym że NIE WYPEŁNIŁ |
21:40 | JaBoJa | Do formularza dodaje się pole textarea, zwierające gdzieś w etykietce lub zawartości jakieś charakterystyczne słowo typu "Message" |
21:41 | JaBoJa | Oraz opis dla użytkownika: "Nie wypełniaj tego pola" |
21:41 | JaBoJa | Ponadto, aby jeszcze ułatwić użytkownikowi życie dajemy całe pole z opisami i etykietkami w <div class="ukryte"> |
21:41 | JaBoJa | I w CSS dopisujemy: |
21:42 | JaBoJa | .ukryte { display: none; } |
21:42 | JaBoJa | W ten sposób użytkownik nawet nie zobaczy pola, ale bot który będzie szukał pól textarea celem wpisania w nie reklam wypełni je z dużym prawdopodobieństwem. |
21:43 | JaBoJa | To by było tyle na temat zautomatyzowanych testów Turinga, czyli CAPTCHA. |
21:44 | JaBoJa | Teraz przejdźmy do filtrów działających na innych zasadach. |
21:44 | JaBoJa | Może zacznę od potwierdzeń. |
21:44 | JaBoJa | Popularne są potwierdzenia na e-mail, ale boty już umieją je robić. |
21:45 | JaBoJa | Natomiast dosyć łatwo można zrobić potwierdzenie przez komunikator (GG, Jabber, Tlen...) |
21:45 | JaBoJa | Oczywiście jeśli stanie się to modne to i tego boty się nauczą, wszak to tylko zmiana protokołu. |
21:45 | JaBoJa | Ale może być to ciekawy zamiennik dla e-mailowych potwierdzeń. |
21:46 | JaBoJa | Inną ideą jest przesunięcie mechanizmu rejestracji do jakiejś instytucji, która gwarantuje że każde konto odpowiada jednemu i tylko jednemu użytkownikowi. |
21:47 | JaBoJa | To znaczy użycie jednego, ogólnego systemu logowania. |
21:47 | JaBoJa | Jak na przykład MS Passport, czy OpenID. |
21:47 | JaBoJa | Niestety wymaga to zaufania dla instytucji świadczącej taką usługę, a z tym mógłby być problem. |
21:48 | JaBoJa | Bo np. serwer OpenID może postawić sobie tak na prawdę każdy. |
21:48 | JaBoJa | Co jeszcze można zrobić... |
21:49 | JaBoJa | Konto użytkownika, jak już wspominałem, nie powinno mieć większych możliwości niż to konieczne dla człowieka. |
21:49 | JaBoJa | Możliwość wysyłania 100 maili na minutę to właśnie takie większe możliwości. |
21:49 | JaBoJa | Można na przykład przy każdej kolejnej wiadomości podwajać opóźnienie. |
21:50 | JaBoJa | np. pierwszy komentarz / wiadomość / list - opóźnienie 10ms |
21:50 | JaBoJa | 2 - 20ms |
21:50 | JaBoJa | 3 - 40ms |
21:50 | JaBoJa | 4 - 80ms |
21:50 | JaBoJa | 5 -160ms |
21:50 | JaBoJa | 6 - 320ms |
21:50 | JaBoJa | 7 - 640ms |
21:50 | JaBoJa | 8 -128ms (już może być zauważalne) |
21:50 | JaBoJa | 9 - 256ms |
21:51 | JaBoJa | tzn. 1280 i 2560 |
21:51 | JaBoJa | 10 - 5s |
21:51 | JaBoJa | 11 - 10s |
21:51 | JaBoJa | 12 - 20s |
21:51 | JaBoJa | 13 - 40s |
21:52 | JaBoJa | Spowolnienie nie utrudni roboty komuś kto wysyła rozsądną (powiedzmy 3) liczbę wiadomości / min, ale bot może być w kłopocie |
21:52 | JaBoJa | oczywiście należy mieć na uwadze to że może zakładać sobie wiele kont i z każdego wysyłać np. 1 wiadomość / minutę |
21:54 | JaBoJa | Co do pastwienia się nad spambotami poprzez spowalnianie ich, to na stronie http://tnij.com/mb201 i http://tnij.com/94 można przeczytać o... |
21:54 | JaBoJa | ...pomyśle aby zapychać je wysyłając w przypadku wykrycia bota innymi technikami zamiast strony wielomegowy plik. |
21:55 | JaBoJa | W tamtym przypadku odbywało się to przez zmianę standardowej nazwy pliku na inną, a pod standardową umieszczenie skryptu który właśnie taki plik wysyłał. |
21:55 | JaBoJa | Oczywiście celem zaoszczędzenia transferu można zrobić przekierowanie do jakiegoś dużego pliku na jakimś innym serwerze. |
21:56 | JaBoJa | Właściciel bota pewnie prędzej czy później doda mu regułę nakazującą omijanie naszej strony ;) |
21:56 | JaBoJa | A na koniec coś, co pewnie jest podstawowe (specjalnie zostawiłem to na koniec ;) ): |
21:57 | JaBoJa | Filtorwanie na podstawie treści postów i innych danych wysyłanych przez przeglądarkę. |
21:57 | JaBoJa | Tutaj już sięgnę do przykładów gotowych skryptów. |
21:57 | JaBoJa | Po pierwsze BadBehavior |
21:58 | JaBoJa | Skrypt który sprawdza nagłówki http przeglądarki i stara się określić czy jest to przeglądarka czy bot. |
21:58 | JaBoJa | Wiele botów używa gotowych bibliotek do http (np. tej .NETowej), które daje się łatwo odróżnić od przeglądarek na podstawie tego jak mają zaimplementowany protokół http |
21:59 | JaBoJa | Wszystkie zapytania http wykonywane przez programy kożystające z takich bibliotek są blokowane. |
21:59 | JaBoJa | Oczywiście należy uważać wtedy, aby nie dodawać tej funkcji do takich elementów strony jak RSS. |
22:00 | JaBoJa | No i na CMSy w formie okienkowych programów. |
22:00 | JaBoJa | Bo przez przypadek możemy odciąć dostęp czytnikowi |
22:00 | JaBoJa | To działa na poziomie PHP, tuż przed właściwymi skryptami strony. |
22:00 | JaBoJa | Możemy jednak filtrować boty już wcześniej. |
22:01 | JaBoJa | Na przykład na stronie http://sblam.com/czarnalista.html dostępna jest czarna lista spamerskich IP. |
22:01 | JaBoJa | (uwzględniająca neostrady i inne rzeczy które oprócz spamu moga wysyłać poprawne wiadomości) |
22:03 | JaBoJa | Wystarczy pobrać z tejże strony plik .htaccess z blokadami tych IP, wgrać na serwer (autor zaleca jeszcze regularną automatyczną aktualizację) i ilość botów odwiedzających naszą stronę spada diametralnie. |
22:03 | JaBoJa | Oba powyższe narzędzia warto stosować. |
22:04 | JaBoJa | Wbrew pozorom nie powodują zwiększenia obciążenia serwera, bo spadek transferu spowodowany odfiltrowaniem botów już na tak wczesnym etapie znacznie rekompensuje zwiększenie czasu generowania się stron wywołane tymi skryptami. |
22:05 | JaBoJa | No i, last but not least, w internecie są znakomite filtry antyspamowe które pozwalają odfiltrować te spośród botów które prześlizgnęły się przez czarną listę i BadBehavior. |
22:06 | JaBoJa | Takimi filtrami jest np. WordPressowy Akismet, czy Sblam (notabene produkt polski). |
22:06 | JaBoJa | Są one darmowe. |
22:07 | JaBoJa | Jedyny problem to to, że w momencie gdy serwer Sblam (nie wiem jak jest z Akismet) z jakichś powodów padnie, filtr nie jest w stanie sprawdzić czy wiadomość jest śmieciem czy nie. |
22:07 | JaBoJa | Domyślnie wtyczki przepuszczają w takich wypadkach wiadomości. |
22:09 | JaBoJa | Oczywiście można je nieco ulepszyć dając w wypadku braku odpowiedzi serwera, lub przy niejsanościach, możliwość wpisania jednak kodu z kapczy (lub klikania kotków ;) ) tak aby i w tych wyjątkowych sytuacjach filtr działał. |
22:09 | JaBoJa | Oczywiście jeśli nasze skrypty dają taką możliwość możemy niejasności i braki połączenia dawać do ręcznej moderacji. |
22:10 | JaBoJa | I tym oto sposobem dobrnęliśmy do końca materiału przewidzianego na dzisiaj. |
22:10 | fr3 | :) |
22:10 | fr3 | swietny wyklad |
22:10 | JaBoJa | Są jakieś pytania? |
22:11 | JaBoJa | Jeśli nie to chciałbym podać co będzie w drugiej części, oraz ustalić kiedy można by ją poprowadzić. |
22:11 | Seti | ja bym do kotkow moze dodal captche - typu przezroczyste literki nalozone i znajdz kotka z literka A ;P ciekawe czy to by sie sprawdzilo |
22:12 | JaBoJa | Nie sądzę aby to było dobre |
22:12 | fr3 | chyba ze kazde zwierze mialo by jakas litere... ale jaki to ma sens |
22:12 | fr3 | skoro i tak musisz wiedziec ktore to kot |
22:12 | fr3 | ? |
22:12 | JaBoJa | Chodzi o to że kot od psa różni się na tyle subtelnymi szczegółami, że w porównaniu do liter dla komputera jest to istny hardcore. |
22:13 | Xion | mam takie pytanko: czy wiesz moze jakiego rzedu odwiedzalnosc serwisu powoduje, ze oplaca sie pisac bot specjalnie pod niego? czy to w duzym stopniu zalezy od rodzaju serwisu? |
22:13 | Seti | ale po pewnym czasie |
22:13 | JaBoJa | Myślę że szczególnie atrakcyjne są serwisy umożliwiające wysyłanie e-maili, SMSów etc. (oczywiście te znane). |
22:13 | Seti | widzisz, ilosc tych kotkow tutaj jest ograniczona |
22:14 | JaBoJa | prawda jest taka że do tego potrzeba dużą bazę zdjęć |
22:14 | Seti | wlasnie |
22:14 | JaBoJa | no i lepiej generować całą planszę jako jeden duży JPG |
22:14 | JaBoJa | może nawet z jakimiś zniekształceniami |
22:14 | Seti | a przy malej moznaby wtapiac duze literki w nie przezroczyste i rzadac kotka z literka A np |
22:14 | JaBoJa | (niewielkimi, żeby było nadal widać co kot a co pies) |
22:15 | JaBoJa | ale rządanie kota z literą A może uprościć botowi robotę |
22:15 | JaBoJa | bo sobie znajdzie wszystkie A i liczba kombinacji spada |
22:15 | Seti | buahahaha |
22:15 | JaBoJa | i większe prawdopodobieństwo że dobrego strzeli |
22:15 | JaBoJa | ;) |
22:16 | Seti | to zalezy czy bedziesz stosowac caly alfabet czy tylko kawalek |
22:16 | JaBoJa | tzn.? |
22:17 | Seti | masz tutaj wielokrotny wybor + od groma obrazkow + zmiany kazdego obrazka poprzez doklajanie do niego np: mnie nie zaznaczaj |
22:17 | Seti | w poleceniu masz: zaznacz pieski |
22:17 | Seti | i nagle na obrazku z pieskiem widzisz taki napis: ,,mnie nie zaznaczaj'' |
22:17 | JaBoJa | mysle ze to niepotrzebnie komplikuje sprawe |
22:18 | JaBoJa | bo bot i tak kota od psa nie odrozni |
22:18 | fr3 | jak nagle widzisz |
22:18 | JaBoJa | jesli zostanie 16 obrazkow nadal to nadal bedzie 42656 kombinacji |
22:18 | fr3 | js? |
22:18 | fr3 | gif? |
22:18 | Seti | ale przy ograniczonej ilosc obrazko, pokazanie mu jak wyglada kot i pies to pikus |
22:18 | Seti | sprawdx sobie |
22:18 | Seti | wez obrazki przerob przez gd chociazby na obrazki wielkosci 3px na 3px |
22:18 | JaBoJa | no dlatego nie mozna jej miec az tak ograniczonej ;) |
22:18 | Seti | (oczywiscie max kolorow) |
22:19 | Seti | i sie nimi pobaw -> nieznaczne zmiany w obrazkach ale podobnych, nie zmienia podpisu 9-cio pixelowego danego obrazka |
22:20 | JaBoJa | chyba ze zmiany beda polegaly nia manipulacji jasnascia, naterzeniem kolorow, barwa etc. |
22:20 | JaBoJa | ;) |
22:20 | j00ru | natężeniem |
22:20 | Seti | co by t nie mowic - prawda jest taka, ze te zabezpieczenia sa dobre, ale tylko do ochony przed script kiddies, oraz przed leniami, a nie przed kims kto jest dobry w takie rzeczy albo kims komu sie chce |
22:21 | JaBoJa | racja |
22:22 | JaBoJa | dosc dobrym zabezpieczeniem jest tu chyba tylko filtr Sblam, ktory polega na tresci wiadomosci (a przeciez aby osiagnac cel spamer musi napisac w tresci o co chodzi) |
22:22 | JaBoJa | Dobrze, ale skonczmy moze wyklad. |
22:22 | Seti | captcha - chociazby najprostrza (plus rzadanie pwnych tylko jej wycink??w) juz skutecznie blokuje jakies 90% program??w typy - w necie leza dla debili |
22:22 | Seti | plus blokowanie ipkow z jakichs baz |
22:23 | JaBoJa | Za tydzień pokażę jak: |
22:23 | JaBoJa | a.) Instalować filtry Sblam, czarną listę Sblam i wspomnę o BadBehavior |
22:24 | JaBoJa | b.) Używać gotowych kapcz z projektu reCAPTCHA |
22:24 | JaBoJa | c.) Instalować "Did You Pass Math" |
22:24 | JaBoJa | d.) Łamać kapcze :> |
22:24 | JaBoJa | Teraz powiedzcie mi, czy środa wieczór będzie też odpowiednim terminem? |
22:25 | fr3 | chyba tak |
22:26 | JaBoJa | Dobrze, tak więc w środę, 28 listopada 2007, o 20:30 kolejna część wykładu o CAPTCHA. |