Empecher iframe pour les autres sites
privily
-
Flachy Joe Messages postés 2102 Date d'inscription Statut Membre Dernière intervention -
Flachy Joe Messages postés 2102 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis un débutant en programmation et je suis face à un petit problème.
- J'ai sur une page --> "page1.html" <-- de mon site, une iframe.
- Cette iframe contient une autre page --> "page2.html" <--.
.
Je souhaiterai interdire les sites de faire une iframe de ma page "page2.html" en les redirigeant vers mon acceuil.
Mais que cette page reste dans son iframe (pas de redirection) pour ma page1 uniquement.
.
J'ai essayer plusieurs code en JS mais aucun de répond à ma demande (ils redirige même sur ma page /ne redirige jamais).
.
Je voudrai savoir s'il existe un script permettant de faire cela ? Si oui lequel ?
.
Merci d'avance pour votre aide !
Je suis un débutant en programmation et je suis face à un petit problème.
- J'ai sur une page --> "page1.html" <-- de mon site, une iframe.
- Cette iframe contient une autre page --> "page2.html" <--.
.
Je souhaiterai interdire les sites de faire une iframe de ma page "page2.html" en les redirigeant vers mon acceuil.
Mais que cette page reste dans son iframe (pas de redirection) pour ma page1 uniquement.
.
J'ai essayer plusieurs code en JS mais aucun de répond à ma demande (ils redirige même sur ma page /ne redirige jamais).
.
Je voudrai savoir s'il existe un script permettant de faire cela ? Si oui lequel ?
.
Merci d'avance pour votre aide !
A voir également:
- Empecher iframe pour les autres sites
- Meilleurs sites de téléchargement - Accueil - Outils
- Sites de vente d'occasion - Guide
- Site pour partager des photos - Guide
- Création de sites web - Guide
- Sites comme coco - Accueil - Réseaux sociaux
3 réponses
Il faut utiliser aussi un langage coté serveur (PHP par exemple) et une base de donnée.
Voila le principe :
1. La page 1 créé un enregistrement dans une base de donnée avec un numéro unique. Et affiche la page 2 avec ce numéro en argument de la requête.
2. La page 2 vérifie que l'argument passé corresponds bien à un enregistrement dans la base. Si c'est le cas, on détruit cet enregistrement et on affiche la page 2, sinon on renvoi vers la page 1.
Si quelqu'un veut afficher la page 2 en dehors de ton site, il ne pourra pas fournir de numéro d'enregistrement valide et se retrouvera donc sur la page 1.
La page 2 ne pourra pas être rafraîchi sans que la page 1 le soit.
Voila le principe :
1. La page 1 créé un enregistrement dans une base de donnée avec un numéro unique. Et affiche la page 2 avec ce numéro en argument de la requête.
2. La page 2 vérifie que l'argument passé corresponds bien à un enregistrement dans la base. Si c'est le cas, on détruit cet enregistrement et on affiche la page 2, sinon on renvoi vers la page 1.
Si quelqu'un veut afficher la page 2 en dehors de ton site, il ne pourra pas fournir de numéro d'enregistrement valide et se retrouvera donc sur la page 1.
La page 2 ne pourra pas être rafraîchi sans que la page 1 le soit.
Merci pour ta réponse,
Malheureusement je pense ne pas avoir les compétences pour mettre en place une telle démarche. Je connais que peu le PHP et pas du tout le Mysql !
Connaitrez tu un exemple sur lequel je pourrai m'appuyer ?
Merci
Malheureusement je pense ne pas avoir les compétences pour mettre en place une telle démarche. Je connais que peu le PHP et pas du tout le Mysql !
Connaitrez tu un exemple sur lequel je pourrai m'appuyer ?
Merci
Un début de script :
---8<--- mysql.php ---8<---
--->8---
---8<--- page1.php ---8<---
--->8---
---8<--- page2.php ---8<---
--->8---
Bonne continuation.
---8<--- mysql.php ---8<---
<?php // A renseigner avec les infos de connexion sql $host = 'sql.domain.com'; $user = 'user'; $password = 'password'; $base = 'database'; function connect(){ global $host, $user, $password, $base; $link = mysql_connect($host, $user, $password) or die('Connexion impossible. '.$_SERVER['HTTP_HOST']); query('CREATE DATABASE IF NOT EXISTS ''.$base.'''); query('USE ''.$base.'''); } function query($sql){ if (! $result = mysql_query($sql)){ die ('Erreur lors de l\'execution de la requete : <B>' .$sql."</B><BR/>\n".mysql_error() ."\n"); } return $result; } ?>
--->8---
---8<--- page1.php ---8<---
<?php //connexion sql et création éventuelle de la table de donnée include ('mysql.php'); connect(); query('CREATE TABLE IF NOT EXISTS 'verrou' ('uid' varchar(32))'); // création d'un identifiant unique $uid = md5(uniqid(mt_rand(), true)); //enregistrement dans la table query('INSERT INTO 'verrou' ('uid') VALUES "'.$uid.'"'); ?> Le code HTML normal, <a href="page2.php?uid=<?php echo $uid ?>">la page 2 </a>
--->8---
---8<--- page2.php ---8<---
<?php //récupération de la valeur du paramètre $uid = htmlentities(mysql_escape_string($_GET['uid'])); //recherche dans la BDD include ('mysql.php'); $db_result = query('SELECT TRUE FROM 'verrou' WHERE 'uid'="'.$uid.'"' ); if (mysql_num_rows($db_result)!=1){ //l'identifiant n'est pas dans la base header('Location : page1.php'); exit; } ?> Le code HTML de la page 2.
--->8---
Bonne continuation.