Cryptage d'url d'une page web

Messages postés
2
Date d'inscription
samedi 8 février 2014
Statut
Membre
Dernière intervention
9 février 2014
- - Dernière réponse : BBFUNK01
Messages postés
1313
Date d'inscription
jeudi 16 juillet 2009
Statut
Membre
Dernière intervention
20 juin 2014
- 9 févr. 2014 à 23:04
Bonjour,

Je créai actuellement un site web, et je me retrouve confronté à un problème:

Crypter une url.

Ce que je souhaite c'est que l'url change tout le temps de sorte qu'une personne ne puisse pas donner le lien a un amis par exemple.

Voila dans l'attente de vos réponses .

Cordialement
Afficher la suite 

3 réponses

Meilleure réponse
Messages postés
14582
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
10 novembre 2019
136
1
Merci
Bonsoir,

Dans quel but as-tu besoin de cela ?
Quelle information désires-tu cacher ainsi ?

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 211 internautes nous ont dit merci ce mois-ci

Commenter la réponse de NHenry
Messages postés
2
Date d'inscription
samedi 8 février 2014
Statut
Membre
Dernière intervention
9 février 2014
0
Merci
Afin de rendre disponible une information a une personne sans qu'elle puisse copier le lien pour y revenir ultérieurement ou faire un copier coller du lien.

Cordialement
Commenter la réponse de antho13005
Messages postés
1313
Date d'inscription
jeudi 16 juillet 2009
Statut
Membre
Dernière intervention
20 juin 2014
6
0
Merci
Hello,

Pour cela tu eux tout simplement ajouter une variable temporaire à l'url à "crypter".

Par exemple imaginons que ta page par défaut qui fournit l'information soit :

http://www.monsite.com/information/

Pour "crypter" l'url tu peux donc ajouter une variable (ou plusieurs) afin de n'afficher l'information qu'une seule fois.
Dans cette optique tu peux par exemple, pour que cela soit fonctionnel, ajouter un hash + l'adresse IP de l'utilisateur, et ce uniquement lorsque l'utilisateur est connecté (utilisation de $_SESSION).

Ça pourrait donner quelque chose du genre :


<?php
if($_SESSION['user'] === "connected"){

// génération du hash temporaire
$_SESSION['hash'] = md5(uniqid(rand(), true));

// mise en session de l'adresse IP
$_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];

$url = 'http://www.monsite.com/information/'.$_SESSION['hash'].'+'.$_SESSION['ip'];

echo '<a href="'.$url.'" target="_blank">Obtenir l'information</a>';

}
?>

Puis sur la page "information" :


<?php

// récupération de la variable "hash" pasée en GET
$hash = htmlspecialchars($_GET['hash'];

// récupération de la variable "ip" pasée en GET
$ip = htmlspecialchars($_GET['ip'];

// Tu testes si les conditions sont remplies pour afficher l'information, si elles sont remplies :
if($_SESSION['hash'] === $hash && $_SESSION['ip'] === $ip && $_SESSION['user'] === "connected){

include 'tapagequicontientlinfo.php';

}else{

// si les conditions ne sont pas remplies :

header('Location: http://www.monsite.com');

}

?>

Pour la réécriture d'url je te laisse te démerder : tu trouveras de quoi faire ça les doigts dans le nez ;)

A+
BBFUNK01
Messages postés
1313
Date d'inscription
jeudi 16 juillet 2009
Statut
Membre
Dernière intervention
20 juin 2014
6 -
A noter tout de même :

Si tu souhaites que l'information ne soit affichée qu'une seule et unique fois, il faut anéantir les variables de session qui permettent l'affichage de l'info :


<?php
if($_SESSION['hash'] === $hash && $_SESSION['ip'] === $ip && $_SESSION['user'] === "connected){

// variable à "killer" obligatoirement :
unset($_SESSION['hash']);

// variable à killer (optionnel)
unset($_SESSION['ip']);

// puis tu inclus le contenu de l'information
include 'tapagequicontientlinfo.php';

}
?>
Commenter la réponse de BBFUNK01