Ve zkratce
- Jste tu nejspíš proto, že se tento řetězec objevil v logu serveru nebo v hlášení firewallu.
- Stahujeme výhradně soubor, který si obchodník nastavil ve vlastním účtu Comparano. Weby neprocházíme.
- Pokud nás firewall blokuje, povolte tento user agent — pravidla pro běžné systémy najdete níže.
- Nezveřejňujeme seznam IP adres; oddíl 4 vysvětluje, proč by to bylo horší.
1.O co jde
Comparano je srovnávač cen. Obchod, který u nás nabízí své zboží, nám dá adresu svého produktového feedu — souboru, který sám publikuje — a my ho stahujeme v intervalu, který si obchod zvolí, aby ceny a dostupnost u nás zůstaly aktuální.
Stahujeme pouze adresu, kterou obchodník zadal ve vlastním účtu Comparano. Web neprocházíme, odkazy nenásledujeme, formuláře neodesíláme a nehledáme stránky, které nám nikdo nedal.
2.Naše user agenty
Jsou dva a jsou oddělené záměrně: hosting může chtít povolit drobnou občasnou kontrolu a velké stahování omezit jinak, což by s jediným jménem nešlo vyjádřit.
| User agent | Co dělá | Jak často |
|---|---|---|
ComparanoFeedBot/1.1 (+https://comparano.com/bot) | Stahuje produktový feed, který obchodník nastavil. | V intervalu zvoleném obchodníkem — obvykle každé 3 až 24 hodiny, mezitím ještě drobný dotaz jen na hlavičky, zda je soubor stále dostupný. |
ComparanoBot/1.1 (+https://comparano.com/bot) | Ověřuje, že obchod odpovídá, a čte soubor nebo značku dokládající, že doména patří obchodníkovi, který si ji nárokoval. | Zřídka. Jednou při registraci, poté příležitostně. |
Oba navíc posílají hlavičku From (info@comparano.com), aby vždy bylo komu napsat.
3.Jak ho povolit
Stačí kterákoli z těchto možností; není třeba použít všechny.
Porovnávejte token, ne celý řetězec. ComparanoFeedBot a ComparanoBot se nikdy nemění. Verze za lomítkem ano — mění se s každým naším vydáním, takže pravidlo na celý user agent příště selže.
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=comparanoBezpečnostní pluginy pro WordPress — Wordfence, Sucuri, iThemes — mají seznam výjimek přijímající vedle IP i user agent; přidejte tam ComparanoFeedBot. Nejčastěji nás blokuje limit požadavků pro roboty mimo tento seznam: jediné velké stažení vyhodnotí jako útok.
Hostingové panely jako cPanel, Plesk nebo DirectAdmin obvykle staví před web mod_security a limiter. Požádejte poskytovatele, aby pro adresu feedu povolil tento user agent; na jejich straně jde zpravidla o jeden řádek a odkaz na tuto stránku většinou stačí.
4.Proč nezveřejňujeme seznam IP
Na pevný seznam adres se nás ptají dost často na to, abychom odpověď uvedli tady. Naše stahovače běží na infrastruktuře s měnícími se adresami a zastaralý seznam selhává tiše — feed obchodu se rozbije a nic neřekne proč. Porovnání podle user agenta funguje dál.
Pokud vaše pravidla adresy vyžadují, napište nám: najdeme řešení pro vaše prostředí místo zveřejnění rozsahu, který bude za měsíc špatně.
5.Jak blokace vypadá z naší strany
Zablokovaný feed pro obchodníka neselže hlasitě. Zaznamenáme stav, po několika pokusech feed označíme jako chybný a napíšeme mu — zpráva ale říká, že jeho feed je nedostupný, a proto se ptá svého hostingu, ne nás. Tyto odpovědi vidíme, když nás něco před obchodem zastaví.
| Stav | Obvykle znamená |
|---|---|
403 | Pravidlo WAF nebo seznam výjimek, na kterém nejsme. |
429 | Limiter, který naše jediné stažení počítá jako zneužití. |
503 | Stránku antibotové výzvy. Neumíme ji vyřešit, takže to bereme jako nedostupnost. |
— | Žádnou odpověď — firewall spojení zahodí, místo aby ho odmítl. |
6.Když máme přestat
Feed stahujeme proto, že nás o to obchodník požádal; nejrychleji to skončí, když ho obchod ve svém účtu Comparano pozastaví nebo odebere. Pokud máte za to, že žádáme něco, co nikdo nenastavil, napište nám s řádkem z logu — podíváme se na to ještě týž den.