Cette démo est complètement et ouvertement inspirée de l'excellente présentation de la SOP par Kirk Jackson (2017), que je vous invite à regarder.
La Same Origin Policy (SOP) est un ensemble de règles plus ou moins bien défini lorsque Javascript a été introduit en 1995 dans les navigateurs web. Nous allons voir ce qu'est une origine, comment la SOP fonctionne et pourquoi elle est fondamentale du point de vue de la sécurité côté client, et protège contre de nombreuses attaques sur le web.
- php
- bash
Lancer les deux sites site-a
et site-b
avec le serveur built-in de PHP
pushd site-a
php -S localhost:5001 &
popd
pushd site-b
php -S localhost:5002 &
popd
ou éxecuter le script
./start-demo.sh
Pour lister les serveurs qui écoutent sur le port 1234
fuser 1234/tcp
. Pour tuer les processus,fuser -k 1234/tcp
Noter les
PID
des processus pour arrêter les serveurs et libérer les ports correspondants avec la commandekill PID
fuser -k 5001/tcp 5002/tcp
ou éxecuter directement le script
./stop-demo.sh
- MDN: Same Origin Policy (SOP), les contraintes cross-origin implémentées côté client
- MDN: Cross Origin Resource Sharing (CORS), les contraintes cross-origin implémentées côté serveur
- Same-origin policy: The core of web security @ OWASP Wellington, excellente présentation de Kirk Jackson de la Same Origin Policy avec démonstrations à l'appui. À regarder.