ograniczenie w postaci limitów ściągania dla danych adresów ip

Wyobraźmy sobie taką sytację.
Przez miesiące, lata zbieramy jakieś informacje, dane, teksty, spisy.
Starannie je moderujemy, katalogujemy, poprawiamy – tak aby ich jakość była jak najlepsza.
To co wyżej nazwałem danymi, tekstami, spisami może być cokolwiek:
teksty piosenek, dowcipy, fajne obrazki, przepisy kulinarne, najróżniejsze statystyki, czy też nawet forum publiczne.
Wkładamy w to wieloletnią pracę po czym nagle okazuje się iż ktoś (haker, spamer, robot?) potrafi ściągnąć całą zawartość naszej witryny w przeciągu godziny, dnia, tygodnia…
I może to być nawet wielotysięczna czy nawet milionowa baza danych.
Jeżeli są to dane-teksty wyłącznie naszego autorstwa – łatwo możemy dojść czy tekst został umieszczony na innej witrynie (o ile będzie nam się chciało to zrobić i będziemy mieli wystarczającą ilość czasu).
Natomiast jeżeli jest to tekst ogólno dostępny do którego praktycznie nikt nie może mieć praw to nikomu nie udowodnimy iż ktoś ściągnął z naszego serwera całą bazę.
Do tekstu ogólno dostępnego, praktycznie bez praw autorskich możemy zaliczyć np. dowcipy, statystki (wyniki meczów), a nawet statystyki opadów deszczu ;-)
Ale skoro są to dane ogólno-dostępne i praktycznie występują w wielu serwisach to czym się przejmujemy?
1. Wykonaliśmy sporo pracy aby zebrać te dane, skatalogować, poprawić, odpowiednio sformatować.
2. Skoro ktoś pragnie wejść na naszą witrynę i hurtowo pobrać całą treść – dodatkowo obciążając nasze serwery, wysycając nam łącza i limity – to takiemu Panu mówi stanowczo NIE.

A teraz przejdźmy do sedna tematu.
Wiele artykułów porusza sprawę zabezpieczeń naszej treści na stronach www.
Wiele z nich porusza tematy typu:
* Jak zabezpieczyć/utrudnić kopiowanie tekstu ze strony?
* Jak zabezpieczyć/utrudnić kopiowanie zdjęć ze strony?
* Jak zablokować prawy klawisz myszki na stronach www
* Jak zablokować możliwość przeciągania elementów na stronie www
* Jak zablokować możliwość drukowania strony www
* Jak zablokować Blokada zapisu wybranych zdjęć
* Jak włączyć blokadę klawisza Print-Screen
Te wszystkie artykuły porady – to oczywiście jedynie utrudnienia kopiowania treści. Utrudnienia ale nie zabezpieczenia!
Bo tak naprawdę nie istnieje 100% zabezpieczenie strony przed kopiowaniem.
My administratorzy-webmasterzy możemy jedynie utrudnić życie hackerom czy też raczej masowym pobieraczom treści.
Najśmieszniejsze rozwiązania to takie nad wdrożeniem których webmasterzy spędzają kilkanaście nocy, a które można wyłączyć w ciągu 5 sekund ;-)
Tak dokładnie w ciągu chwili – mówię o zabezpieczeniach w JavaScript. Są to oczywiście dobre i skuteczne zabezpieczenia dla użytkowników którzy nie wiedzą że interpretowanie JavaScript można wyłączyć.
Inne śmieszne zabezpieczenia to takie które działają pod jedną przeglądarką. Np. autororowi strony wydaje się iż, tak jak On wszysch korzystają z Internet Explorera ;-),
Wystarczy stronę odpalić w Operze lub Firefoxie i okazuje się iż skrypt zabezpieczający nie działa ;-)

Tak więc można się śmiać i debatować, ale po prostu nie ma 100% zabezpieczenia przed kopiowaniem CZEGOKOLWIEK ze strony.
Oczywiście możemy wykorzystać wszystkie zabezpieczenia jakie znamy, na swojej witrynie.
Fakt jest jeden, na pewno nie zabezpieczy to naszej treści, ale przynajmniej utrudni proces kopiowania zawartości witryny.

Ja do tych wszystkich zabezpieczeń (czasem skutecznych, czasami trochę śmiesznych) dokładam kolejne – całkowicie mojego autorstwa.

Moje zabezpieczenie ma na celu wyeliminowanie masowego pobierania treści – a właściwie całych stron z witryny.
Takie rzeczy robią głównie roboty (komercyjne i te pisane pod konkretną witrynę – np aby pobrać milion podstron).
Jeżeli ktoś zrobi sobie statystyki to dowie się iż ruch generowany przez roboty GoogleBoot, Yahoo, MSN czy też inne pożyteczne robaki to ułamek całego obciążenia generowanego przez wszystkie roboty.
Moje rozwiązanie jest bardzo proste:
1. wchodzisz na moją witrynę
a) jesteś porzytecznym robakiem – GoogleBoot, Yahoo, MSN – indeksujesz moją zawartość, pozycjonujesz moje strony, ściągaj ile chcesz.
b) jeżeli nie jesteś porzytecznym robakiem to kim?
- jeżeli jesteś zwykłym użytkownikiem to ściągasz tyle ile potrafisz przeczytać (plus trochę więcej)
- jeżeli nie jesteś zwykłym użytkownikiem to po co chcesz ściągać np 100 podstron z mojego serwisu w ciągu minuty? – na pewno nie zdążysz ich przeczytać.

Powyższy opis algorytmu został zaprojektowany i wdrożony w witrynę tak aby wprowadzić określone limity, otwierasz za dużo stron w ciągu (minuty, godziny, doby) dostajesz ostrzerzenie.
Nie stosujesz się do niego (roboty nie czytają komunikatów, czasami nawet nie reagują na zwracany określony http request code) dostajesz bana.
Limit i ban obowiązuje oczywiście dla IP. To jest jedyna słabość i wada tego utrudnienia – gdyż czasami przez przypadek można zablokować całą podsieć, jakiejś firmy.
Ale cóż, idealne rozwiązania po prostu nie istnieją!.
Zalety tego rozwiązania są następujące:
- pozwalamy na indeksowanie wybranym przyjaznym robotom – zakresy robotów są ogólno dostępne
- ograniczenie w postaci limitów ściągania dla danych adresów ip
- możliwość całkowitego blokowania danego adresu ip po przekroczeniu konkretnego limitu
- utrudniamy życie pobieraczom.
- znacznie redukujemy obciążenie serwera www dla bezsensownego masowego pobierania treści z Twojej witryny

Wady takiego rozwiązania:
- istnieje szansa przyblokowania przyjaznego robota (wymagana częsta aktualizacja zakresów ip robotów indeksujących)
- możliwość przyblokowania całej podsieci czasami nawet małej firmy
- dodatkowy ruch na naszej witrynie (wprowadzamy statystyki i zliczanie odwiedzin)
- osoby posiadające zmienny adres IP -  wystarczy restart połączenia i limity są wyzerowane (dla nowego IP)

Dla mnie takie rozwiązanie posiada więcej zalet niż wad dlatego z niego korzystam.
Staram się na bierząco aktualizować i analizować czy przyblokowany ip nie należy do robota indeksującego.
Nawet możliwość zmiennego adresu IP nie jest dla mnie dużą wadą. Jeżeli ktoś chce np co 5 minut zestawiać połączenie – proszę bardzo ;-)

Dla mnie rachunek jest prosty.
Przykład: teoretycznie posiadasz witrynę składającą się ze 100 tys. podstron.
Dowolny robot – zaciągnie Ci to w ciągu 1-2 dni.
Wprowadzasz limity (np. max 100 stron dziennie dla 1 adresu IP).
Nawet przy dynamicznym IP pobieracza-robota, proces zaciągania stron całej zawartości Twojego serwisu znacznie się wydłuży!
Zadaj sobie pytanie: czy Ty wchodząc np. na onet.pl, wp.pl, czy jakikolwiek inny serwis czytasz dziennie więcej niż 100 stron?
Jeżeli tak to czytasz więcej niż np. 300 stron?

This entry was posted in Indeksowanie, Pozycjonowanie. Bookmark the permalink.

Leave a Reply