Comment interdire le chargement de vos pages sur un autre site à l’aide d’un iframe

N Wp.ru 20150923123150

 

La balise iframe est utilisée pour la création d’un élément où on visualise un document autonome y compris le contenu d’un site tiers. Il y a des sites qui utilisent ces balises pour la création de ces propres pages avec du contenu complètement pris d’un autre site. Il arrive souvent des cas quand on utilise CSS ou des java- scripts pour changer le visuel du site. Finalement, ils ne créent pas son propre contenu, mais visuellement vous avez l’impression de visiter un site avec du contenu original.

Pour aller plus loin, il est possible d’obtenir des clics et l’information du site-source ce qui est une menace à la sécurité. Ce moyen d’arnaquer des visiteurs s’appelle clickjacking. Pour autant, vous pouvez utiliser iframe pour protéger votre site par avance de devenir un contenu pour un autre.

Utilisation du script

Vous pouvez ajouter le code suivant dans le header.php:

1

2

3

<script>

if((self.parent&&!(self.parent===self))&&(self.parent.frames.length!=0)){self.parent.location=document.location}

</script>

C’est un code du script qui redirige les utilisateurs regardant la page avec iframe à la page source.

Utilisation du fichier .htaccess

Pourtant les dernières études montrent qu’il y a des sites qui contournent ce script à l’aide de l’atribut sandbox et de l’évènement beforeunload. C’est pourquoi l’utilisation des derectives du fichier.htaccess c’est le méthode le plus fiable. Ils sont exécutés avant la chargement de la page et il est impossible de les contourner à condition qu’il n’y a pas de fragilités dans la sécurité du serveur ou du navigateur.

Pour protéger le contenu du site à l’aide d’iframe, ajoutez le code suivant dans le fichier .htaccess, qui se trouve dans le répertoire racine du site :

1

2

3

<IfModule mod_headers.c>

Header always append X-Frame-Options SAMEORIGIN

</IfModule>

Si le module mod_headers est activé sur le serveur, le serveur accomplit la derective et il interdit de rendre le contenu sur un autre site à travers l’iframe, en remettant dans le navigateur le titre approprié. Si le module n’est pas activé, le serveur vous rend l’erreur 500. Dans ce cas-là vous pouvez demander votre hébergement d’activer ce module soit chercher d’hébergeur.

Utilisation PHP

En  99,99% des cas ce module est activé chez vos hébergeurs et vous ne devez pas avoir des difficultés avec. La contrainte c’est ce que le fichier.htaccess n’est pas toujours accessible. En même temps les fichiers WordPress sont accessibles et vous pouvez envoyer la commande au serveur.

Ajouter le code suivant dans le fichier header.php:

1 <?php header(« X-Frame-Options:sameorigin »); ?>

Pièges

Si vous avez utilisé un des moyens proposés vous pouvez  vous affronter avec des soucis dans le fonctionnement des tiers services utilisant des cadres. Ici vous êtes obligé de choisir entre la fonctionnalité et la sécurité de votre site.

Articles similaires

Pourquoi ne pas utiliser un champ de confirmation de mot de passe

Il n’est pas facile de créer une page d’inscription ergonomique. L’ajout ou la suppression de chaque élément influence le niveau de conversion. La tâche du designer est d’identifier les éléments à supprimer et à ajouter pour obtenir le meilleur ...

Yii 1.1.17

L'équipe MVC PHP a lancé une nouvelle version de framework Yii : Yii 1.1.17. Vous pouvez la télécharger sur le site officiel: