Nejak sem nepochopil proc kdyby Billboard serviroval banner pres SSL tak by uzivatel obdrzel nejaky warningy, pokud by pouzivali certifikat podepsanej nejakou znamou (tj. nainstalovanou v default instalacich browseru) autoritou tak by zadnej browser nevaroval, ty varovani se objevujou kdyz server pouziva certifikat co je podpsanej nekym neznamym, vyprsenej (nebo jeste neni platnej) anebo pokud je vydanej na jinej web nez na kterej se pristupuje. Ale pokud SSL stranka linkuje dokumenty na jinym SSL webu (coz vzdycky bude znamenat jinej certifikat) tak je to naprosto v pohode.
No a to ze Billboard vyzaduje referer hlavicku je docela drsny, vetsina lidi co znam si posilani referer hlavicky blokujou.
Nevim, zda to je presne ten pripad, ale rekl bych, ze je to pozorovatelne napr. ve statistikach navrcholu - sledovani poctu stranek "jejich adresa nebyla zjistena" (to by melo byt zpusobeno prave neposlanim refereru).
Pak by stacilo porovnavat treba http://navrcholu.cz/Statistika/14/ http://navrcholu.cz/Statistika/30925/2003/12/30/zobrazovane-stranky/ a http://navrcholu.cz/Statistika/8389/
Vetsina to rozhodne neni, otazka zni, zda je to dostatecne malo.
Jde o to, že ne všichni musí mít autoritu Billboardu mezi důvěryhodnými. Z hlediska bezpečnosti je lepší důvěryhodné autority promazat a nechat tam jenom ty, kterým skutečně věřím.
Pokud by autoritu Billboardu měla většina uživatelů mezi důvěryhodnými, problém by většinou nenastal. Pokud ale chci mít jistotu, musel by Billboard používat stejnou autoritu jako já. To je ale těžké zaručit např. v případě, kdy mám autoritu vlastní :-).
Zkusim to napsat jeste jednou:
1) Nemusite mit Billboard mezi duveryhodnymi - staci tam mit tu, ktera Billboardu vydala certifikat (treba Thawte). Ziskat takovy certifikat neni velky problem a bude jej bez reci akceptovat vetsina prohlizecu.
2) Nevim o tom, ze by servery ktere generuji objekty na strance musely mit stejnou CA. Podle mne staci, kdyz maji certifikat od libovolen duveryhodne CA (viz vyse).
Ohledne detailu funkce SSL viz moje serie clanku zde na root.cz ;-)
Mluvíme oba o tomtéž. Samozřejmě uživatel nemusí mít certifikát BillBoardu mezi důvěryhodnými. Když jsem psal "autoritu Billboardu", měl jsem na mysli "certifikační autoritu, která vydala certifikát pro BillBoard".
Objekty na stránce samozřejmě nemusí mít stejnou CA. Ale pokud ji mají různou, může se stát, že uživateli, který má mezi důvěryhodnými tu mojí a nemá tam tu BillBoardu, se zobrazí varování.
Snad už jsem to je teď srozumitelnější.
V kódu banner_c.php stojí:
elseif ($line === "") { fpassthru($fp); ... }
což znamená, že pokud náhodou BillBoard neodpověděl přesměrováním, ale poslal přímo nějaký obsah, skript ho předá bez jakékoli hlavičky.
A já se táži: kdo tam tu hlavičku doplní, a jaká je šance, že bude správně?
Pokud použijete tuto metodu tak kromě bezpečnostních problémů je tu také problém s tím, že všechny zobrazené banery jsou zobrazeny z jedné IP adresy.
Některé reklamní společnosti pokud na takovýto jev přijdou tak obvykle všechny zobrazení smažou - tj. nepočítají. Tento problém jsem kdysi řešil také a pokud nemáte velké množství zobrazení tak se s Vámi o tom ty reklamní společnosti ani nebaví.
Na druhou stranu pak není problém si spoustu zobrazení takto naklikat sám.
Toto je pohled ze strany paranoidního uživatele. Pokud ale provozujete nějaké www servery, moc bych se divil, kdyby vám bylo úplně putna, odkud vám tam chodí lidi. Mě to tedy zajímá.
Takže střední cesta je jako obvykle někde uprostřed -- např. blokovat jen ty reklamní nesmysly, navrcholy a spol. Pokud někdo žije z reklamy, tak ho to asi nenadchne, ale to už je zase jiný boj...
No, pouziva se i k bohulibejsim ucelum nez k reklame :-) Webmasteri podle refereru zjistuji kudy uzivatel chodil a mohou vyhodnocovat ucinnost/ergonomicnost webu. A navic ja sam jsem napsal nekolik aplikaci, ktere referer pouzivaly (pravda, vetsinou pro to, aby daly odkaz "Zpet" bez pouziti JS (ten totiz paranoici vypinaji nejdriv :-))) ).
P.S.: "To ze ses paranoidni neznamena, ze te nedostanou." :-)
Kudy člověk chodil jde v rámci jednoho webu celkem pohodlně zjistit i z logu web serveru.
Myslím, že spoléhat na referer v aplikaci není moc dobrý nápad, protože stále více "bezpečnostních sw" typu "xyz firewall" filtruje HTTP provoz pro bezpečí a soukromí uživatele a součástí tohoto filtrování je i zahazování HTTP refereru. Pokud to aplikace opravdu potřebuje, je lepší si zdrojovou stránku předávat jako parametr v URL nebo skryté pole formuláře nebo v session proměnné. Nejlépe si to ještě na serveru zašifrovat nebo podepsat, aby se v tom uživatel nemohl moc šťourat.
Nehodnotim, jestli je kod funkcni nebo nebo a bezpecny nebo ne, ale principielne je to uplne spatne.
Vzdy, kdyz povolim, abych mel ve strance objekt dodany treti stranou, tak snizuji bezpecnost meho webu a ohrozuji uzivatele. Tato situace se dramaticky zhorsi, jakmile tohle ucinim ve strance, ktera je zabezpecena pres SSL a pokud cizi kod vystavuji jakoby z me adresy. Uzivatel si muze napr. nastavit muj server do dyveryhodne zony, a ja zpusobim, ze cizi kod, ktery odesilam je vyhodnocen v kontextu me stranky a tim i bezpecnostni zony, ktera je mi prirazena.
Pokud navic kod ziskavam po nezabezpecenem spojeni, tak riskuji, ze nekdo presmeruje DNS a ja kod nactu odjinud (protoze spojeni nebezi pres SSL, tak nemohu overit certifikat serveru, abych poznal jeho zamenu). A to nemluvim o moznosti uspesneho napadeni primo reklamniho systemu.
Pokud uzivatel klikne na ten banner, tak buh vi co si odnese na dalsi stranku, vzhledem k ruznych vadam v prohlizecich. V lepsim pripade nic, v horsim referrer obsahujici nejake cookie a v tom nejhorsim si zadavatel banneru precte kde co. Ne nadarmo se rika, ze po ukonceni prace se zabezpecenymi vecmi se ma prohlizec ukoncit a znovu spustit, chcete-li pokracovat jinde.
Podle me proste do SSL stranek patri reklama jedine vlastni. Propagovat neco jineho je nebezpecne, protoze si nekdo muze rict, je to se mi libi a pritom nedokaze poznat vsechny dusledky.
Děkuji za příspěvek, na stejné téma se zamýšlím i v závěru článku a nabádám k použití postupu jen v situaci, kdy ke zmatení uživatele dojít nemůže (což by se snadno stalo např. pokud bych místo obrázku přenášel JavaScript).
Varování ohledně situace po kliknutí už tak výstižné není, konkrétně výrok "v horším případě si na další stránku odnese referrer obsahující nějaké cookie" je zcela zavádějící, protože cookie se v refereru samozřejmě nepřenáší a navíc ve skriptu mohu přesně nastavit, co se přenášet bude a co ne.
Věřím, že kdo se do aplikace postupu pustí, tak nějaké základní povědomí o bezpečnosti má a možné důsledky si uvědomí. Nehledě na to, že na rizika článek upozorňuje.
OK, mate pravdu, to co si uzivatel pres referrer odnese neni cookie, ale rekneme session id. Zkratil jsem to, protoze beru za obvykle, ze u uzivatelu, kterym se nepodari zaslat cookie se to co by bylo jeho obsahem pridava do URL, aby se dala resit bezstavovost HTTP protokolu.
Absolutne s Vami souhlasim, uvedeny postup je z hlediska bezpecnosti principialne zcestny a je poprenim filosofie duveryhodneho zdroje.
Certifikaci obsahu mimo moji kontrolu si zahravam s ohnem a cinim-li tak z pohnutek mrzce nizkych, jako je zabranit varovani uzivatele kvuli reklame, je me pocinani zavrzenihodne. Mym trestem bude drive ci pozdeji mnou overene a podepsane zoofilni porno nebo neco jineho. Halelujah...
Proc tam to varovani o nezabezpecenych objektech asi tak je? :-o
Nejprve k uzitecnosti ... jak uz asi bylo tady nekde receno, mam-li stranky s zabezpecenim prez SSL tak asi slouzi nejakym vyssim cilum a nemam jediny duvod cpat do nich reklamu.
Druha vec jsou toky dat. Ty jsou totiz jedinym meritkem pro poskytovatele hostingu, ve vetsine pripadu se prave za toky dat PLATI. Kdyz pridam do svych stranek kus HTML kodu tak to nic moc neovlivni , ale kdyz budu na serveru s kazdym requestem stahovat banner, a pak ho posilat surferovi, zaprve si delam velke toky ve vlastnim virtualu a zadruhe delam ty same toky z IP adresy serveru a tudiz okradam poskytovatele zpusobovanim zbytecnych prenosu. (i nejeden poskytovatel plati za prenesene gigabajty).
U stranky s navstevnosti nula nula nic je to asi jedno, ale pri 10 - 100 Kuq (kilo uniques) za den uz je to znat.
Jako poskytovateli hostingu by se mi nelibilo mit na serveru podobne skripty.
Stránky zabezpečené protokolem HTTPS nemusí nutně sloužit nějakým vyšším cílům. Zabezpečení může být potřeba i na ryze komerčním serveru, kde reklama své místo má.
Co se přenosu dat týče, záleží samozřejmě na konkrétní smlouvě a v některých případech bych za traffic navíc zaplatil víc, než kolik by mi reklama přinesla. Ale typicky tomu tak ve většině případů podle mě nebude.