comparano

Nasz pobieracz plików produktowych

Czym jest ComparanoFeedBot i jak przepuścić go przez firewall.

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 agentCo robiJak 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=comparano

Wtyczki 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.

StatusZwykle oznacza
403Regułę WAF albo listę wyjątków, na której nas nie ma.
429Limiter, który jedno nasze pobranie liczy jako nadużycie.
503Stronę 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.