CACHER SES LIENS DE L'URL

cs_emilia123 Messages postés 122 Date d'inscription mercredi 19 décembre 2001 Statut Membre Dernière intervention 5 janvier 2009 - 8 nov. 2010 à 07:47
TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 - 10 janv. 2011 à 20:39
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/52434-cacher-ses-liens-de-l-url

TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 12
10 janv. 2011 à 20:39
Salut,

@emilia : Le principe en lui même est utile, c'est ce qui fait des réducteurs d'url tels que TinyURL. Après bien entendu cette source est loin de ce genre de service pourtant simple je te l'accorde.

Concernant la source elle même, ça reste assez "naïf" comme manière de faire mais passons. Juste une remarque sur le coté immonde de l'utilisation d'un switch/case ou d'une série de if, utiliser un tableau associatif aurait été un gros plus. Exemple pour la partie php :

<?php
$lst array('bleh'> 'http://example.com/',
'bip' => 'http://example.org/');
if (!empty($_GET['go']) && isset($lst[$_GET['go']]))
header('Location: ' . $lst[$_GET['go']]);
die();

?>

Les tableaux en php c'est bon, mangez en !
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
30 nov. 2010 à 17:20
bonjour
@de emilia123
le but du script est de cacher le lien dans l'url.
echo avant un header('location..'); oui il faut que je dévalide cette ligne ...
c'était une ligne de vérification.
le zip est crypté et je cache pas le lien dans dans ce cas c'est pour limiter
le telechargement à ce seul fichier.
oui pour un switch mais dans l'exemple ça reste acceptable.
merci pour tes remarques.
a++
cs_emilia123 Messages postés 122 Date d'inscription mercredi 19 décembre 2001 Statut Membre Dernière intervention 5 janvier 2009
8 nov. 2010 à 07:47
bonjour,

Je vais me permettre de commenter le fonctionnement avant le code lui meme.
A quoi cela sert il de proteger le lien

si lorsque l'on clique sur ce systeme de protection, on est redirigé dessus :
header('location: MON_LIEN');

le lien ne reste pas secret plus d'1/2 seconde (si l'on prend l'exemple final "/secret/mon_super_file_crypte.zip") car il suffit de cliquer pour l'avoir.

Sinon pour le code:
- il y a un echo avant un header('location..');
sur un serveur bien configuré, tu auras un message d'erreur et la redirection ne marchera pas.

- au lien de faire des tests IF multiples et variés (plusieurs if/elseif qui s'enchainent ca peut vite devenir illisible), il serait peut etre plus lisible de faire un switch(..) case '...' : .... break;
le cas particulier "default" te permettrait de traiter le cas "inconnue"

Bonne continuation,

EM.