W skrócie
- Trafiłeś tu zapewne dlatego, że ten ciąg pojawił się w logu serwera albo w raporcie firewalla.
- Pobieramy wyłącznie plik, który sprzedawca skonfigurował na własnym koncie Comparano. Nigdy nie indeksujemy witryny.
- Jeśli firewall nas blokuje, zezwól na ten user agent — reguły dla popularnych systemów są poniżej.
- Nie publikujemy listy adresów IP; sekcja 4 wyjaśnia, dlaczego uważamy, że byłoby to gorsze.
1.O co chodzi
Comparano to porównywarka cen. Sklep, który wystawia u nas swoje produkty, podaje adres swojego pliku produktowego — pliku, który sam publikuje — a my pobieramy go w rytmie wybranym przez sklep, żeby prezentowane ceny i dostępność były aktualne.
Pobieramy wyłącznie adres URL, który sprzedawca wpisał na własnym koncie Comparano. Nie indeksujemy witryny, nie podążamy za odnośnikami, nie wysyłamy formularzy i nie szukamy stron, których nikt nam nie wskazał.
2.Nasze user agenty
Są dwa i są rozdzielone celowo: hostingodawca może chcieć przepuścić drobne sprawdzenie, a duże pobranie ograniczyć inaczej — z jedną nazwą nie dałoby się tego wyrazić.
| User agent | Co robi | Jak często |
|---|---|---|
ComparanoFeedBot/1.1 (+https://comparano.com/bot) | Pobiera plik produktowy skonfigurowany przez sprzedawcę. | W odstępie wybranym przez sprzedawcę — zwykle co 3 do 24 godzin, a pomiędzy drobne zapytanie tylko o nagłówki, żeby sprawdzić, czy plik jest nadal dostępny. |
ComparanoBot/1.1 (+https://comparano.com/bot) | Sprawdza, czy sklep odpowiada, i czyta plik lub znacznik potwierdzający, że domena należy do sprzedawcy, który ją zgłosił. | Rzadko. Raz przy rejestracji, potem sporadycznie. |
Oba wysyłają też nagłówek From (info@comparano.com), żeby zawsze był ktoś, do kogo można napisać.
3.Jak na to zezwolić
Wystarczy dowolna z tych metod; nie trzeba stosować wszystkich.
Dopasowuj token, a nie cały ciąg. ComparanoFeedBot i ComparanoBot nigdy się nie zmieniają. Wersja po ukośniku owszem — zmienia się z każdym naszym wydaniem, więc reguła na pełny user agent przestanie działać.
Cloudflare — WAF › Custom rules › Skip
(http.user_agent contains "ComparanoFeedBot") or (http.user_agent contains "ComparanoBot")ModSecurity / OWASP CRS
SecRule REQUEST_HEADERS:User-Agent "@contains ComparanoFeedBot" \
"id:1900001,phase:1,pass,nolog,ctl:ruleEngine=Off"nginx
map $http_user_agent $comparano {
default 0;
"~*ComparanoFeedBot" 1;
"~*ComparanoBot" 1;
}Apache
SetEnvIfNoCase User-Agent "ComparanoFeedBot" comparano
Allow from env=comparanoWtyczki bezpieczeństwa WordPressa — Wordfence, Sucuri, iThemes — mają listę wyjątków przyjmującą zarówno user agent, jak i IP; dodaj tam ComparanoFeedBot. Najczęściej blokuje nas limit zapytań dla robotów spoza tej listy: traktuje jedno duże pobranie jak atak.
Panele hostingowe takie jak cPanel, Plesk czy DirectAdmin zwykle stawiają przed witryną mod_security i limiter. Poproś hostingodawcę o zezwolenie na ten user agent dla adresu pliku produktowego; po ich stronie to zwykle jedna linia, a powołanie się na tę stronę najczęściej wystarcza.
4.Dlaczego nie publikujemy listy IP
Pytają nas o stałą listę adresów wystarczająco często, by wyjaśnić odpowiedź tutaj. Nasze pobieracze działają na infrastrukturze o zmieniających się adresach, a nieaktualna lista zawodzi po cichu — plik sklepu przestaje się wczytywać i nic nie mówi dlaczego. Dopasowanie po user agencie działa dalej.
Jeśli wasza polityka wymaga adresów, napiszcie do nas: znajdziemy rozwiązanie dla waszej konfiguracji, zamiast publikować zakres, który za miesiąc będzie nieprawdziwy.
5.Jak blokada wygląda z naszej strony
Zablokowany plik nie zawodzi głośno dla sprzedawcy. Zapisujemy status, po kilku próbach oznaczamy plik jako niedziałający i wysyłamy wiadomość — ale mówi ona, że plik jest nieosiągalny, dlatego sprzedawca pyta swojego hostingodawcę, a nie nas. Oto odpowiedzi, które widzimy, gdy coś przed sklepem nas zatrzymuje.
| Status | Zwykle oznacza |
|---|---|
403 | Regułę WAF albo listę wyjątków, na której nas nie ma. |
429 | Limiter, który jedno nasze pobranie liczy jako nadużycie. |
503 | Stronę weryfikacji antybotowej. Nie potrafimy jej rozwiązać, więc traktujemy to jako niedostępność. |
— | Brak jakiejkolwiek odpowiedzi — firewall porzuca połączenie, zamiast je odrzucić. |
6.Prośba, żebyśmy przestali
Pobieramy plik, bo sprzedawca nas o to poprosił, więc najszybciej zakończy to sklep, wstrzymując go lub usuwając na swoim koncie Comparano. Jeśli uważasz, że prosimy o coś, czego nikt nie skonfigurował, napisz do nas z linijką logu — sprawdzimy to tego samego dnia.