Si je crée un iframe
comme celui-ci:
var dialog = $('<div id="' + dialogId + '" align="center"><iframe id="' + frameId + '" src="' + url + '" width="100%" frameborder="0" height="'+frameHeightForIe8+'" data-ssotoken="' + token + '"></iframe></div>').dialog({
Comment puis-je corriger l'erreur:
Refusé d'afficher
'https://www.google.com.ua/?gws_rd=ssl'
dans un cadre car il a défini «X-Frame-Options» sur «SAMEORIGIN».
avec JavaScript?
la source
X-Frame-Options
est un en-tête inclus dans la réponse à la demande pour indiquer si le domaine demandé se permettra de s'afficher dans une trame. Cela n'a rien à voir avec javascript ou HTML et ne peut pas être modifié par l'expéditeur de la requête.Ce site Web a défini cet en-tête pour qu'il ne soit pas affiché dans un fichier
iframe
. Un client ne peut rien faire pour arrêter ce comportement.Lectures complémentaires sur les options X-Frame
la source
Si vous contrôlez le serveur qui envoie le contenu de l'iframe, vous pouvez définir le paramètre
X-Frame-Options
sur votre serveur Web.Configurer Apache
Pour envoyer l'en-tête X-Frame-Options pour toutes les pages, ajoutez ceci à la configuration de votre site:
Configurer nginx
Pour configurer nginx pour envoyer l'en-tête X-Frame-Options, ajoutez ceci à votre configuration http, serveur ou emplacement:
Aucune configuration
Cette option d'en-tête est facultative, donc si l'option n'est pas du tout définie, vous aurez la possibilité de la configurer à l'instance suivante (par exemple le navigateur des visiteurs ou un proxy)
source: https://developer.mozilla.org/en-US/docs/Web/HTTP/X-Frame-Options
la source
add_header Strict-Transport-Security "max-age=86400; includeSubdomains"; add_header X-Frame-Options DENY;
partir des nginx-snippets, puis cela a fonctionné tout de suite.Puisque la solution n'a pas vraiment été mentionnée pour le côté serveur:
Il faut définir des choses comme celle-ci (exemple d'Apache), ce n'est pas la meilleure option car elle le permet dans tout, mais après avoir vu votre serveur fonctionner correctement, vous pouvez facilement modifier les paramètres.
la source
pas vraiment ... j'ai utilisé
la source
et si rien ne vous aide et que vous souhaitez toujours présenter ce site Web dans un iframe, envisagez d'utiliser le composant X Frame Bypass qui utilisera un proxy.
la source
L'en-tête de réponse HTTP X-Frame-Options peut être utilisé pour indiquer si un navigateur doit être autorisé à afficher une page dans un fichier
<frame>
,<iframe>
ou<object>
. Les sites peuvent l'utiliser pour éviter les attaques de détournement de clic, en s'assurant que leur contenu n'est pas intégré à d'autres sites.Pour plus d'informations: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options
J'ai une solution alternative à ce problème, que je vais démontrer en utilisant PHP:
iframe.php:
target_url.php:
la source
Pour cela, vous devez faire correspondre l'emplacement dans votre apache ou dans tout autre service que vous utilisez
Si vous utilisez apache, dans le fichier httpd.conf.
la source
La solution est d'installer un plugin de navigateur.
Un site Web qui émet un en-tête HTTP
X-Frame-Options
avec une valeur deDENY
(ouSAMEORIGIN
avec une origine de serveur différente) ne peut pas être intégré dans un IFRAME ... sauf si vous modifiez ce comportement en installant un plugin de navigateur qui ignore l'en-X-Frame-Options
tête (par exemple , Ignore X-Frame Headers de Chrome ).Notez que cela n'est pas du tout recommandé pour des raisons de sécurité.
la source
vous pouvez définir l'option x-frame dans la configuration Web du site que vous souhaitez charger dans iframe comme ceci
la source
Vous ne pouvez pas vraiment ajouter le x-iframe dans votre corps HTML car il doit être fourni par le propriétaire du site et il se trouve dans les règles du serveur.
Ce que vous pouvez probablement faire est de créer un fichier PHP qui charge le contenu de l'URL cible et iframe cette URL php, cela devrait fonctionner correctement.
la source
vous pouvez le faire dans le fichier de configuration au niveau de l'instance tomcat (web.xml). Vous devez ajouter le 'filtre' et le mappage de filtre 'dans le fichier de configuration web.xml. cela ajoutera les [X-frame-options = DENY] dans toute la page car il s'agit d'un paramètre global.
la source
Si vous suivez l'approche xml, le code ci-dessous fonctionnera.
la source