comparano

Onze feed-ophaler

Wat ComparanoFeedBot is, en hoe je hem door een firewall laat.

In het kort

  • Je bent hier waarschijnlijk omdat deze tekenreeks in een serverlog of firewallrapport opdook.
  • We downloaden alleen een bestand dat een verkoper in zijn eigen Comparano-account heeft ingesteld. We crawlen nooit een site.
  • Blokkeert je firewall ons, sta dan de user agent toe — de regels voor de gangbare systemen staan hieronder.
  • We publiceren geen lijst met IP-adressen; paragraaf 4 legt uit waarom dat naar ons idee slechter zou zijn.

1.Waar dit over gaat

Comparano is een prijsvergelijker. Een winkel die zijn producten bij ons plaatst, geeft ons het adres van zijn productfeed — een bestand dat de winkel zelf publiceert — en wij halen dat bestand op in het ritme dat de winkel kiest, zodat de prijzen en voorraad die wij tonen actueel blijven.

We halen uitsluitend een URL op die een verkoper in zijn eigen Comparano-account heeft ingesteld. We crawlen geen site, volgen geen links, versturen geen formulieren en zoeken geen pagina’s die niemand ons heeft gegeven.

2.De user agents

Het zijn er twee, bewust gescheiden: een hoster wil misschien de kleine incidentele controle toestaan en de grote download anders begrenzen — met één naam valt dat niet uit te drukken.

User agentWat hij doetHoe vaak
ComparanoFeedBot/1.1 (+https://comparano.com/bot)Downloadt de productfeed die de verkoper heeft ingesteld.Op het door de verkoper gekozen interval — meestal elke 3 tot 24 uur, met daartussen een klein verzoek om alleen de headers, om te zien of het bestand nog bereikbaar is.
ComparanoBot/1.1 (+https://comparano.com/bot)Controleert of de winkel bereikbaar is en leest het bestand of de tag die bewijst dat het domein van de verkoper is die het claimde.Zelden. Eenmaal bij aanmelding, daarna af en toe.

Beide sturen ook een From-header (info@comparano.com), zodat er altijd iemand is om over aan te schrijven.

3.Hoe je hem toestaat

Elk van deze opties volstaat op zichzelf; je hebt ze niet allemaal nodig.

Matchen op het token, niet op de hele tekenreeks. ComparanoFeedBot en ComparanoBot veranderen nooit. Het versienummer na de schuine streep wel, bij elke release — een regel op de volledige user agent breekt de volgende keer.

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

WordPress-beveiligingsplug-ins — Wordfence, Sucuri, iThemes — hebben elk een toelatingslijst die naast een IP ook een user agent accepteert; zet ComparanoFeedBot daarin. Wat ons het vaakst blokkeert is de snelheidslimiet voor crawlers die niet op die lijst staan: die ziet één grote download als een aanval.

Hostingpanelen als cPanel, Plesk of DirectAdmin zetten meestal mod_security en een limiter voor de site. Vraag je hoster de user agent voor de feed-URL toe te staan; dat is aan hun kant doorgaans één regel, en verwijzen naar deze pagina is meestal genoeg.

4.Waarom we geen IP-lijst publiceren

We krijgen vaak genoeg de vraag om een vaste lijst met adressen om het antwoord hier op te schrijven. Onze ophalers draaien op infrastructuur waarvan de adressen wisselen, en een verouderde lijst faalt geruisloos — de feed van de winkel loopt stuk en niets vertelt waarom. Matchen op de user agent blijft werken.

Vereist jullie beleid adressen, schrijf ons dan: we zoeken iets dat bij jullie opstelling past in plaats van een reeks te publiceren die over een maand onjuist is.

5.Hoe een blokkade er van onze kant uitziet

Een geblokkeerde feed faalt niet luidruchtig voor de verkoper. We noteren de status, markeren de feed na enkele pogingen als falend en mailen hem — maar het bericht zegt dat zijn feed onbereikbaar is, en daarom belandt hij bij zijn hoster in plaats van bij ons. Dit zijn de antwoorden die we zien als iets vóór de winkel ons tegenhoudt.

StatusBetekent meestal
403Een WAF-regel, of een toelatingslijst waar wij niet op staan.
429Een snelheidslimiet die onze ene download als misbruik telt.
503Een bot-challengepagina. Die kunnen we niet oplossen, dus behandelen we het als onbereikbaar.
—Helemaal geen antwoord — een firewall die de verbinding laat vallen in plaats van te weigeren.

6.Ons vragen te stoppen

We halen een feed op omdat een verkoper daarom heeft gevraagd; het snelst stopt het dus als de winkel hem pauzeert of verwijdert in zijn Comparano-account. Denk je dat we iets opvragen dat niemand heeft ingesteld, schrijf ons dan met een logregel — we kijken er dezelfde dag naar.