CORS pour cours web

← Le volet web · 8 diapositives · flèches ou clic pour avancer

CORS - Pourquoi & comment - Résumé par Nadine Giasson St-Amand
Pourquoi ? - Il existe une sorte d'attaque web - dans laquelle l'Ajax va faire des requêtes sur d'autres sites sur lesquels la victime est connectée en même temps dans le même navigateur: les requêtes croisées (cross-site request forgery). - Pour réduire le risque de ce genre d'attaque - on a inventé un mécanisme de protection appelé la Policy No Cross Origin qui fait que les navigateurs…
Comment ? - C'est le serveur web qui va dire que c'est ok au navigateur - En php - https://enable-cors.org/server_php.html - header("Access-Control-Allow-Origin: *"); - En NodeJS - https://www.codementor.io/nodejsappdeveloper/how-to-add-cors-functionality-to-your-nodejs-web-app-ed4eu7ltf - function(requete, reponse, next) { reponse .header("Access-Control-Allow-Origin", "*"); reponse…
Avec un tier ? - On vérifie que le service est CORS - https://www.test-cors.org/ - Sinon on utilise un proxy CORS pour pomper nos données dans notre application - CORS Anywhere - HTMLDriven - Taskcluster - thingproxy - Whatever Origin - alloworigin - Go Between - allOrigins - Cloudflare - YaCDN
Diapositive 5 du diaporama CORS pour cours web
CORS pour le canvas - Pourquoi & comment - Résumé par Nadine Giasson St-Amand
Le source d'une image de canvas - Étant donné que les pixels du bitmap d'un canvas peuvent provenir de diverses sources, y compris des images ou des vidéos extraites d'autres hôtes, il est inévitable que des problèmes de sécurité surviennent. - Dès que vous dessinez dans un canvas des données qui ont été chargées à partir d'une autre origine sans l'approbation du CORS, le canvas devient TEINTÉ.…
Avec un tier ? - Si le contenu étranger provient d'une image obtenue à partir de HTMLCanvasElement ou ImageBitMap, et que la source de l'image ne respecte pas les mêmes règles d'origine, les tentatives de lecture du contenu du canvas sont bloquées. - L'appel de l'un des éléments suivants sur un canvas contaminé entraînera une erreur : - Appel de getImageData() sur le contexte du canvas - Appel de…