Same-Origin Policy: Skillnad mellan sidversioner

Från Webbling
Hoppa till: navigering, sök
Ingen redigeringssammanfattning
Ingen redigeringssammanfattning
 
Rad 2: Rad 2:


För att "Same-Origin Policy" ska anse att resurser kommer ifrån samma källa, krävs att de kommer ifrån samma domän, använder samma protokoll för hämtning och att de använder samma port för kommunikationen.  
För att "Same-Origin Policy" ska anse att resurser kommer ifrån samma källa, krävs att de kommer ifrån samma domän, använder samma protokoll för hämtning och att de använder samma port för kommunikationen.  
 
== Att komma runt Same-Origin Policy ==
Ibland vill man kunna köra resurser och skript ifrån olika källor och låta dem samarbeta. Det finns en del sätt att komma runt "Same-Origin Policy".
Ibland vill man kunna köra resurser och skript ifrån olika källor och låta dem samarbeta. Det finns en del sätt att komma runt "Same-Origin Policy".


* I vissa fall kan man ändra <code>document.domain</code> så att sidorna ser ut att komma ifrån samma domän.  Det finns dock begränsningar för hur man får skriva om <code>document.domain</code>. Man får bara ändra till en överliggande domän till den domän som källan återfinns på. Låt säga att vår server är "<code>www.webling.se</code>", kan vi sätta om att vi kommer ifrån "<code>webbling.se</code>" om vi vill. OBS: vi måste förstås ändra så att det blir samma värde i alla de resurser som ska delas. Portnummer och protokoll är separat ifrån domänen och vi kan inte ändra på dem med denna metod.
* I vissa fall kan man via skript ändra <code>document.domain</code> så att sidorna ser ut att komma ifrån samma domän.  Det finns dock begränsningar för hur man får skriva om <code>document.domain</code>. Man får bara ändra till en överliggande domän som tillhör samma domän som källan återfinns på. Låt säga att vår server är "<code>www.webling.se</code>", om vi vill kan vi sätta att vi kommer ifrån "<code>webbling.se</code>". OBS: vi måste förstås ändra så att det blir samma värde för alla de resurser som ska delas. Portnummer och protokoll är separat ifrån domänen och vi kan inte ändra på dem med denna metod.


*  [[CORS]] är en vanlig metod för att dela resurser mellan servrar. Detta gäller inte minst när vi gör komplexa applikationer som använder [[API]]er, data och andra resurser som kommer ifrån olika källor.  
*  [[CORS]] är en vanlig metod för att dela resurser som hämtas ifrån olika servrar. Detta gäller inte minst när vi gör komplexa applikationer som använder [[API]]er, data och andra resurser som kommer ifrån många olika källor.  


== Läs mer... ==
Läs mer på [https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy Same-Origin Policy].
Läs mer på [https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy Same-Origin Policy].

Nuvarande version från 1 januari 2016 kl. 17.01

I webbläsarnas säkerhetsmodell ingår ett koncept som heter ”Same-Origin Policy”, det vill säga ”samma källa policy”. Detta är ett sätt att separera resurser som kommer ifrån olika källor, så att de inte kan komma åt varandras data och resurser. Detta innebär t.ex. att ett skript som körs i en sida, enbart får tillgång till andra sidors skript om de kommer ifrån en och samma källa. Man vill förstås undvika att skript som ligger i en sida kan gå in och kapa data ifrån en annan sida. Om så inte var fallet skulle en ”elak” sida kunna ha ett litet skript som låg i bakgrunden och stal information, såsom inloggningsuppgifter, ifrån andra sidor.

För att "Same-Origin Policy" ska anse att resurser kommer ifrån samma källa, krävs att de kommer ifrån samma domän, använder samma protokoll för hämtning och att de använder samma port för kommunikationen.

Att komma runt Same-Origin Policy

Ibland vill man kunna köra resurser och skript ifrån olika källor och låta dem samarbeta. Det finns en del sätt att komma runt "Same-Origin Policy".

  • I vissa fall kan man via skript ändra på document.domain så att sidorna ser ut att komma ifrån samma domän. Det finns dock begränsningar för hur man får skriva om document.domain. Man får bara ändra till en överliggande domän som tillhör samma domän som källan återfinns på. Låt säga att vår server är "www.webling.se", om vi vill kan vi då sätta att vi kommer ifrån "webbling.se". OBS: vi måste förstås ändra så att det blir samma värde för alla de resurser som ska delas. Portnummer och protokoll är separat ifrån domänen och vi kan inte ändra på dem med denna metod.
  • CORS är en vanlig metod för att dela på resurser som hämtas ifrån olika servrar. Detta gäller inte minst när vi gör komplexa applikationer som använder APIer, data och andra resurser som kommer ifrån många olika källor.

Läs mer...

Läs mer på Same-Origin Policy.