Portál AbcLinuxu, 6. května 2025 17:27
IPS="72.14.209.99
72.14.253.99
64.233.161.99
72.14.207.99
72.14.207.104
"
for banner in $IPS
do
iptables -A INPUT -p tcp -s $banner --sport 80 -j REJECT --reject-with icmp-port-unreachable
done
cimz blokuji google ad sense, nemam problem.
Pokud se ale pokusim blokovat stejnym zpusobem napr. ad2.bbmedia.cz na zive.cz,
stranka se nenacte, protoze hlavni dokument ceka na natazeni reklamy a ja zustanu viset.
Jak to lze vyresit? Nebo nelze?
Nenasel sem zadny dokument k dane problematice.
Dekuji
To moc nedává smysl, dávat tyto blokace do INPUT chainu. (Poté, co váš prohlížeč začne navazovat spojení se serverem a ten se mu snaží odpovědět, dostane se mu místo toho odpovědi port-unreachable.) Dejte to do OUTPUT chainu, takže váš prohlížeč vůbec nebude moci se s těmito servery spojit - a navíc, tu odpověď unreachable dostane prohlížeč a ihned načítání příslušné věci přeskočí.
Takže akorát -A OUTPUT a potom -d $banner --dport 80 a mělo by to být.
iframe
, zobrazí se místo něj chybová stránka. Že je řešení přes iptables špatné už se zde objevilo několikrát, teď už si to musíte přebrat sám…
iptables
? IP adresy serverů, které servírují reklamu, se mohou měnit, DNS záznamy dokonce můžou ukazovat na několik IP adres najednou a prohlížeč si vybere – musel byste IP adresy neustále aktualizovat. A druhý, závažnější – komunikace protokolem HTTP dnes už nevyužívá k rozlišení počítačů IP adresy, ale doménová jména. Tj. na jedné IP adrese může běžet několik různých webů pod různými doménami. Takže pokud zablokujete jeden web server podle IP adresy, můžete si tím zároveň zablokovat i (spoustu) jiných webů.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.