Skocz do zawartości

[AJAX]Ochrona przeciw botom


Rekomendowane odpowiedzi

RYSUNEK

 

Na rysunku przedstawiłem uproszony algorytm obsługi żądań AJAX. Jest on jednak podatny na boty, użytkownik może wywoływać go automatycznie.

Wymyśliłem więc sposób na to:

 

a ) Między 1-2 generowany jest id żądania, który jest zapisany w ciasteczku (tutaj jest zahashowany) i wysłany w 2. w metodzie get/post.

b ) Mięczy 3-4 hashujemy odebrany id i porównujemy z tym w ciastku. Zerujemy ciastko. Dokonujemy zmian w bazie danych.

 

W ten sposób, każde żądanie AJAX będzie inne, a więc bot nie będzie mógł ich wykonywać automatycznie (chyba, że będzie symulował wciskanie klawisza w oryginalnej aplikacji klienckiej, zauważ, że ręczne wykonanie żądania przez użytkownika nie zadziała bez uzupełnienia ciastka).

 

Jest lepszy sposób na boty? Czy w ogóle ten coś da?

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

1. Dopuszczanie tylko zarejestrowanych userów.

2. Nie dopuszczanie treści ze słowami: http://, sex etc.

 

Co do ulepszonej metody - bot sobie poradzi z każdą stroną www która zwraca jakiś HTML nawet w zapytaniach ajax - wystarczy zainstalować Firebuga, żeby zobaczyć, że zwrócony AJAXem HTML jest dla przeglądarki normalnie widoczny, więc prosty bot oparty o FireWatir powinien bez problemu poruszac sie po takiej stronie dokładnie tak samo, jak poruszamy sie korzystając z JS po kolejnych elementach.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

Właśnie mówię, że bot bez problemu może w coś kliknąć. Robiłem w pracy testy automatyczne i pisaliśmy pod Firefoxa bota, który skakał po stronie napisanej w JS.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

Ale założenie AJAXa jest takie, żeby nie czytać tyle danych i przyspieszyć ładowanie strony oraz zmniejszyć transfer danych, tymczasem przepisując obrazek przedłużasz ładowanie strony (a przy okazji zniechęcasz odwiedzających do korzystania z niej), no i generując grafiki czy nawet wyświetlając gotowy zestaw marnujesz dużo więcej transferu, niż generując stronę bez AJAXA (zamiast kilka kb masz np. po 100 kb).

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...