Saman alkuperän käytäntö

Saman alkuperän käytäntö on web-sovellusten ohjelmoinnissa käytettävä tärkeä turvallisuusmittaselvennä client-skripteille (useimmiten JavaScript). Käytäntö perustuu Netscape 2.0 -selaimeen tarpeellisine korjauksineen Navigator 2.01 ja Navigator 2.02. Se estää dokumentin tai skriptin lataamisen yhdestä lähteestä hakemalla tai asettamalla ominaisuuksia eri lähteestä.

Rajoitukset muokkaa

Saman alkuperän filosofia on yksinkertainen: Ei ole turvallista luottaa minkään www-sivun ladattuun sisältöön. Koska kaksinkertaisesti luotetut (semi-trusted) skriptit suoritetaan ns. hiekkalaatikossa, niillä on oikeus käyttää resursseja vain samalta www-sivustolta, mutta ei eri www-sivustolta, joka voi olla vihamielinen.

Termi lähde on määritelty koostuvaksi domain-nimestä, protokollasta ja joissakin tapauksissa portista. Kaksi www-sivua kuuluu samaan lähteeseen jos ja vain jos nämä kolme arvoa ovat samat. Havainnollistava taulukko antaa esimerkeillä lähteiden vertailuja URL:ille ”http://www.esimerkki.fi/hakem/muu.html”

URL Tulos Syy
http://www.esimerkki.fi/hakem2/muu.html OK Sama protokolla ja host
http://www.esimerkki.fi/hakem/sisainen/muu.html OK Sama protokolla ja host
http://www.esimerkki.fi:81/hakem2/muu.html Virhe* Sama protokolla ja host mutta eri portti
https://www.esimerkki.fi/hakem2/muu.html Virhe Eri protokolla
http://en.esimerkki.fi/hakem2/muu.html Virhe Eri host
http://esimerkki.fi/hakem2/muu.html Virhe Eri host

(*) Huomaa: Internet Explorer jättää huomiomatta portin kun lasketaan SOP-yhtäläisyyttä. Käyttämällä suhteellisia URLeja ja rajoittamalla niiden käyttöä vain samaan lähteeseen, tämä rajoitus on helposti vältettävissä.

Tämä tietotekniikkaan liittyvä artikkeli on tynkä. Voit auttaa Wikipediaa laajentamalla artikkelia.