Tag Archives: SOP

WebSec – Same-Origin Policy (SOP)

Este un concept important din modelul de securitate al aplicatiilor web. Adica .. un browser permite scripturilor dintr-o pagina X sa acceseze datele dintr-o pagina Y DOAR daca ambele au aceiasi origine (hostname, port, protocol).

Exemplu de ce s-ar intampla daca nu ar exista SOP .. intri pe acest site, da? Eu scriu un script care ar face un request POST la facebook.com si in numele tau as scrie “Vedeti site-ul lui Sorin!”. Ar fi misto nu? :))

Binenteles .. SOP se aplica doar requesturilor din scripturi si fonturilor. Fisierele “statice” (imagini, media, CSS, alte scripturi JS incarcate prin <script> etc) sunt exceptate.

Din cauza acestor restrictii au aparut metode valide pentru a face bypass:

  • “document.domain” property din javascript
  • Cross-Origin Resource Sharing (CORS)
  • Cross-document messaging via “postMessage” din javascript, un exemplu frumos: http://jsfiddle.net/bmknight/A7YfK/
  • JSONP
  • WebSockets

Despre ele in urmatoarele articole 🙂

Bibliografie:
https://en.wikipedia.org/wiki/Same-origin_policy
https://tools.ietf.org/html/rfc6454