Weblog @ rebex.cz

Weblogy na webu Rebexu
Welcome to Weblog @ rebex.cz Sign in | Help
in Search

vitz

Ukladani cookies z iframe v C# pro IE (P3P)

Problem:

Standardni nastaveni zabezpeceni cookies v IE (Privacy - Medium) ignoruje ulozene cookies, pokud patri k jine domene, nez je domena stranky. Typicky k takovemu pripadu dojde, pokud stranka obsahuje iframe s odkazem do jine domeny a ta uklada cookies.


Pozadi:

Cookies z takove iframe se nazyvaji third-party. Jsou povazovany za neverohodne a nebezpecne z hlediska phishingu.


Reseni na urovni uzivatele:

Uzivatel ma nekolik moznosti, jak i v takovem pripade ukladani cookies povolit:
a) volba Internet Option -> Privacy -> Accept All Cookies
b) povolit ukladani third-party cookies: Option -> Privacy -> Advance ->
   -> Override ... -> Third Accept
c) povolit ukladani pro specifikovanou domenu: Option -> Privacy -> Sites
d) povolit ukladani blokovane domeny: dvojklik na ikonu 'oko s cervenym
   zakazem stani' ve spodni liste okna IE, volba Allow.


Reseni bez interakce uzivatele:

Stranka z iframe, ktera uklada cookies, musi ve sve hlavicce obsahovat tzv. Compact Policies. Diky nemu IE reklasifikuje tuto stranku z third-party na first-party. Jde o metatag tohoto tvaru:

  <meta http-equiv="P3P" content='CP="CAO DSP COR CURa DEVa IVAa OUR IND STA"'>

Do ASPx stranky, ktera zapisuje ci maze cookies, jej nejsnaze dostaneme takto:

  Response.AddHeader("p3p", "CP=\"CAO DSP COR CURa DEVa IVAa OUR IND STA\"");

Asi nejlepsi je umistit tento radek hned vedle zapsani cookies (Response.Cookies["cookCateg"]["cookName"] = "cookVal";).


Odkazy a blizsi vysvetleni:

Tripismenne zkratky (plus obcas pismeno a|i|o) v Compact Policies shrnuji duvody, proc stranka uklada cookies a obecne sbira data, jake kategorie dat uklada, jak dlouho je skladuje ap. Tyto duvody deklaruje vlastnik stranek. Ve vyse zminenem postupu d) mame moznost se tyto informace docist v lidsky citelnem formatu.

Presny vyznam zkratek uvadi specifikace W3C Platform for Privacy Preferences (P3P) [http://www.w3.org/TR/P3P/] v casti [http://www.w3.org/TR/P3P/#compact_policies]. Je to zpusob jak kozu nasytit (IE povoli cookies), ale bezpecnost a verohodnost nezvysit. Zatimco specifikace P3P povazuje Compact Policy pouze za volitelnou a doplnujici informaci ke dvema povinnym XML souborum obsahujicim vyse zminene informace vcetne kontaktu (adresa, telefon, email) na zodpovednou osobu ci instituci, IE vyzaduje pro cookies jen tu nepovinnou, anonymni a snadno kopirovatelnou cast Compact Policy.

Konkretni XML soubory i jim odpovidajici Compact Policy retezec se daji zdarma vygenerovat pres webovy formular [http://pics.enc.or.jp/privacy/tools/p3pwiz/p3p_en.html]. Ziskame tak nasledujici dva ukazkove soubory (konkretni data modifikovana):

1. P3P referencni soubor [p3p.xml]
<META xmlns="http://www.w3.org/2002/01/P3Pv1">
    <POLICY-REFERENCES>
    <POLICY-REF about="http://www.divadlo.cz/w3c/policy.xml#policy1">
        <INCLUDE>/*</INCLUDE>
        <COOKIE-INCLUDE name="*" value="*" domain="*" path="*" />
    </POLICY-REF>
    </POLICY-REFERENCES>
</META>

2. P3P policy soubor [policy.xml]
<POLICIES xmlns="http://www.w3.org/2002/01/P3Pv1">
<POLICY name="policy1"
    discuri="http://www.divadlo.cz/">
    <ENTITY>
        <DATA-GROUP>
            <DATA ref="#business.name">Divadeln&#237; &#250;stav</DATA>
            <DATA ref="#business.department"></DATA>
            <DATA ref="#business.contact-info.postal.street">Celetn&#225; 43</DATA>
            <DATA ref="#business.contact-info.postal.city">Praha 1</DATA>
            <DATA ref="#business.contact-info.postal.stateprov">Czech Republic</DATA>
            <DATA ref="#business.contact-info.postal.postalcode">110 00</DATA>
            <DATA ref="#business.contact-info.telecom.telephone.intcode">420</DATA>
            <DATA ref="#business.contact-info.telecom.telephone.loccode"></DATA>
            <DATA ref="#business.contact-info.telecom.telephone.number">225125763</DATA>
            <DATA ref="#business.contact-info.online.email">divak@divadla.cz</DATA>
        </DATA-GROUP>
    </ENTITY>
    <ACCESS><contact-and-other/></ACCESS>
    <DISPUTES-GROUP>
        <DISPUTES resolution-type="service"
            service="http://divadlo.cz"
        >
        <IMG src="http://www.divadlo.cz/logo.png" alt="Divadelni ustav - logo"/>
        <REMEDIES><correct/></REMEDIES>
        </DISPUTES>
    </DISPUTES-GROUP>
    <STATEMENT>
        <PURPOSE>
            <current required="always" />
            <develop required="always" />
            <individual-analysis required="always" />
        </PURPOSE>
        <RECIPIENT>
            <ours></ours>
        </RECIPIENT>
        <RETENTION>
            <indefinitely/>
        </RETENTION>
        <DATA-GROUP>
            <DATA ref="#dynamic.cookies" optional="yes">
                <CATEGORIES><state/></CATEGORIES>
            </DATA>
        </DATA-GROUP>
    </STATEMENT>
</POLICY>
</POLICIES>

Doporucene misto pro oba soubory je v adresari [/w3c] v rootu webu. (Jeste jednou opakuji, ze tyto XML soubory nejsou pro zaktivneni cookies potreba.)

Validaci syntaxe, umisteni i konzistence techto dat je mozne provest zde [http://validator.w3.org/p3p/20020128/p3p.pl] (zaznamenany caste vypadky). Stranky splnujici P3P standard roboty automaticky zarazuji na seznamu [http://www.privacyfinder.org/].

Poznamka:

FireFox standardne uklada a pracuje se vsemi cookies a vyse zminena uprava neni pro nej treba.

Vit Zyka

Published 15. května 2009 18:01 by vitz

Comments

No Comments
Anonymous comments are disabled

This Blog

Syndication

Tags

No tags have been created or used yet.

Archives

Powered by Community Server (Personal Edition), by Telligent Systems