toma Posté 14 Septembre 2009 Partager Posté 14 Septembre 2009 (modifié) Hello, voila quelques heures que je bute sur un problème qui pourtant paraît assez simple mais je bloque... Des personnes accèdent à un de mes site par une url de ce type : script.php?f=1|217|3|7 Je voudrais qu'en apparence l'url soit uniquement script.php, sans toute la partie après 'php' (?f=1...). Est-il possible de faire cela dans un .htaccess ? J'avoue je suis comme une truie devant un bigorneau là... Merci d'avance ! Modifié 15 Septembre 2009 par captain_torche Lien vers le commentaire Partager sur d’autres sites More sharing options...
Nicolas Posté 14 Septembre 2009 Partager Posté 14 Septembre 2009 Bonjour, Je suppose que le paramètre f doit servir à quelque chose. Si oui alors tu peux rewriter par exemple script_f_1_217_3_7.html Mais bon est-ce que cela sera vraiment utile pour le référencement, j'en doute un peu. Le rewrite n'est pas obligatoire pour avoir un bon référencement. Lien vers le commentaire Partager sur d’autres sites More sharing options...
toma Posté 14 Septembre 2009 Auteur Partager Posté 14 Septembre 2009 Merci de ta réponse ! En fait le référencement n'est pas du tout important, le but est surtout de protéger la vie de privée de mes utilisateurs. Je ne veux pas qu'un petit malin change les chiffres pour tomber sur la fiche d'une autre personne. Donc je ne veux pas non plus que la liste de chiffres soit visible, même sous une autre formule. J'espère que je suis un peu plus clair comme ça Lien vers le commentaire Partager sur d’autres sites More sharing options...
SStephane Posté 14 Septembre 2009 Partager Posté 14 Septembre 2009 Tu peux empêcher de le "voir" en URL en utilisant du POST en place du get, simplement ça n'est pas plus sécurisé. Le mieux est d'utiliser une session pour ton cas de figure. Lien vers le commentaire Partager sur d’autres sites More sharing options...
toma Posté 14 Septembre 2009 Auteur Partager Posté 14 Septembre 2009 hummm je vois ce que tu veux dire. Le truc c'est que les gens qui arrivent sur mon site cliquent un lien depuis un email. Ce lien est formaté comme ceci : http://www.monsite.com/script.php?f=... Je ne peux donc pas faire de GET à mon avis sur un lien qui est cliqué. Sinon peut-être le plus efficace comme tu dis est de mettre en variables de session tout ce dont j'ai besoin, puis faire une redirection vers script.php, à moins qu'il n'y ait une solution plus élégante Lien vers le commentaire Partager sur d’autres sites More sharing options...
alecs.y Posté 14 Septembre 2009 Partager Posté 14 Septembre 2009 Bah le plus sécurisé à mon avis est de généré des codes aléatoires. Plutôt que d'identifier tes fiches grâce à un id que l'on peut modifier, tu génère un code genre de 10 caractères que tu rentre comme identifiant de chaque fiches et là tu peux les mettre dans l'url sans soucis Lien vers le commentaire Partager sur d’autres sites More sharing options...
captain_torche Posté 14 Septembre 2009 Partager Posté 14 Septembre 2009 L'inconvénient, c'est que si le mail est transféré, par exemple, une autre personne aurait accès à un espace privé qui ne lui appartient pas. Lien vers le commentaire Partager sur d’autres sites More sharing options...
toma Posté 14 Septembre 2009 Auteur Partager Posté 14 Septembre 2009 Oui j'y ai pensé aussi. Le hic c'est que je passe par un emailer et on forge les liens à cliquer dans les emails à la mano : script.php?f=<product_id>|<customer_id>|<msg_id> J'ai contacté mon emailer mais il faudrait que ce soit nous qui mettions tous les jours un champ à jour pour avoir cette donnée de "lien crypté". Ce n'est pas envisageable dans l'immédiat. Ou alors je peux peut-être faire une redirection vers script.php?f=encoded_characters mouaif pas top non plus... Lien vers le commentaire Partager sur d’autres sites More sharing options...
SStephane Posté 14 Septembre 2009 Partager Posté 14 Septembre 2009 Encode ton lien en base64 et ajoute y quelques caractères en loucedé, ça ne sera pas parfait à cause des transferts (cf captain_torche), mais c'est rapide à mettre en place. Tu n'auras qu'à le décoder dans ta page PHP en supprimant préalablement les caractères inutiles que tu y auras mis. Ainsi, tu gardes tes paramètres, et les masque. Lien vers le commentaire Partager sur d’autres sites More sharing options...
toma Posté 14 Septembre 2009 Auteur Partager Posté 14 Septembre 2009 Oui j'ai pensé à ça SStephane, le truc c'est que je ne peux pas faire encoder à la volée les liens par notre emailer... donc je dois faire sans. Lien vers le commentaire Partager sur d’autres sites More sharing options...
SStephane Posté 14 Septembre 2009 Partager Posté 14 Septembre 2009 A partir du moment ou tu ne peux pas réécrire ce qu'il y a dans ton mail, tu pourras pas vraiment assurer la sécurité de ton truc. Ce que tu peux faire, lorsque que l'internaute arrive sur script.php?xxxx=xxxx, tu passes les paramètres en session et tu rediriges direct vers script.php qui écrit le résultat. un truc de ce genre dans script.php : session_start();if($_GET){ $_SESSION=$_GET; header("location:script.php");}else{ //....affichage de la page} Bon ça reste léger comme solution, mais au moins les paramètres n'apparaissent pas dans le navigateur Lien vers le commentaire Partager sur d’autres sites More sharing options...
toma Posté 15 Septembre 2009 Auteur Partager Posté 15 Septembre 2009 SStephane, merci pour la suggestion, c'est effectivement ce vers quoi je me suis tourné, même si ce n'est pas la solution idéale. Mais dans l'immédiat avec les contraintes qui sont les miennes ça me paraît être le meilleur compromis. Merci de votre support ! Longue vie aux Webmasters ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
alecs.y Posté 15 Septembre 2009 Partager Posté 15 Septembre 2009 Ça n'empêchera pas les gens de copier/coller le lien qu'ils ont dans leur mail et de changer le chiffre Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant