Administrateur PHPfrance |
9782 Messages
25 juil. 2015, 10:30
Bonjour,
C'est là que le jsonp entre en jeu. Il permet de cracker la sécurité du navigateur afin d'arriver à son but. Mais voilà, le dev casse sciemment une sécurité. Il y a t'il une parade pour palier à ce problème de sécurité ? Personnellement, je ne suis pas sûr que ce soit efficace puisque la sécurité est cassée.
???
Absolument pas... le jsonp ne permet pas de "cracker la sécurité de navigateur" et ne pose pas de problème de sécurité plus que n'importe quel script javascript externe.
En résumé :
En ajax, on ne peut pas aller chercher des infos sur un site différent du sien, c'est ce qu'on appelle la "
Same-origin policy".
Toutefois dans certains cas, il est nécessaire de charger des infos d'un site tiers, par exemple pour charger des bannières de pub issues d'une régie pub, ou même plus simplement pour charger un marqueur de statistiques afin d'avoir des stats de visites.
On peut donc intégrer une balise <script> avec un script JS qui ne vient pas du même site que le sien. Effectivement vu les possibilités du javascript (écriture/lecture de cookies, modification du DOM de la page, etc...), il ne faut pas intégrer des scripts dont on n'est pas sûr de la provenance... mais c'est ce que font tous les développeurs web depuis des années sans problème pour intégrer Google Analytics, adsense, ou les nombreuses librairies JS type jquery quand on passe par un CDN...
Le JSONP, c'est juste le fait d'utiliser une balise <script> pour charger des données d'un json d'un site tiers... C'est donc sécurisé exactement de la même manière que ce qu'on fait avec les scripts js depuis des années.
Alors bien sûr, si tu charges dans ta page un script javascript qui provient d'une site non-sûr, ton site ne sera pas sécurisé mais il est clairement exagéré de parler de faille de sécurité du navigateur ou de sécurité crackée...
J'ai vu qu'il existe une autre technique qui permet de le faire un peu plus secure. Le serveur envoie un header afin de signaler l'url distante (CORS). Cependant là je mets en doute encore la sécurité.
Ce n'est pas plus sécure, c'est exactement la même chose, ça permet d'intégrer du contenu issu d'un site tiers.
Quand tout le reste a échoué, lisez le mode d'emploi...