web-dev-qa-db-fra.com

Iframe HTTP et HTTPS

Je crée un petit widget et je veux autoriser les autres à l'utiliser. iframe est chargé via HTTP - mais je souhaite autoriser les utilisateurs à se connecter via HTTPS. c'est-à-dire envoyer une demande de connexion via SSL.

Est-ce autorisé dans la même politique d'origine? Par exemple, le scénario est qu'un utilisateur peut intégrer mon JavaScript à son site Web, le widget s'ouvre et je veux lui permettre de se connecter via HTTPS?

44
Tom

Il est généralement mauvais d'intégrer une iframe avec du contenu diffusé via HTTPS dans une page diffusée via HTTP simple (ou mélanger du contenu). La raison en est qu'il n'y a aucun bon moyen pour l'utilisateur de vérifier qu'il utilise le site HTTPS qu'il souhaite (à moins que l'utilisateur ne veuille vraiment vérifier la source de la page).

Un attaquant pourrait très bien remplacer le contenu que vous servez comme ceci:

<iframe src="https://your.legitimate.example/loginframe" />

avec:

<iframe src="https://rogue.site.example/badloginframe" />

ou même:

<iframe src="http://rogue.site.example/badloginframe" />

Ceci est très difficile à détecter pour l'utilisateur et annule la mesure de sécurité que vous essayez de mettre en place en activant la connexion via HTTPS.

51
Bruno

@Bruno - Je suis d'accord, mais je voudrais souligner que même vérifier la source - aussi exigeante soit-elle - de la page pourrait ne pas être suffisant pour garantir la sécurité ou la destination appropriée/prévue, car c'est souvent le à l'origine texte source servi. À moins que je ne me trompe sérieusement, cela peut être changé facilement avec du code javascript sur la page ou même hors page (qui lui-même peut être obscurci, si quelqu'un veut vraiment le rendre presque impossible à trouver). Cela dit, SI un utilisateur a un navigateur approprié, je pense qu'il pourrait être en mesure - s'ils sont suspects pour commencer - pour vérifier la source de l'iframe pour déterminer la source de ce code, puis déterminer s'ils font confiance à la source ... pas vraiment une attente raisonnable.

Bien que tout cela puisse être déterminé avec des débogueurs appropriés et/ou des inspecteurs logiciels/DOM et une bonne portion de graisse numérique pour le coude, le PO ne peut raisonnablement s'attendre à ce que tout le monde le fasse (si n'importe qui du tout)

6
Code Jockey

J'ai fait quelques tests. Si vous établissez une liaison depuis une page https vers un autre domaine avec https, ils ont besoin d'un certificat SSL valide.

4
user2323922