Cacher les paramètres passés d'une page à l'autre.

Eléphanteau du PHP | 28 Messages

23 mai 2006, 17:02

Bonjour,
savez-vous s'il est possible de cacher les parametres (voir les pages carrément) qu'on passe de page en page à l'utilisateur, ceçi dans un souçi de sécurité ?

Merci d'avance pour toute aide.
Enfin quelqu'un qui n'a pas de signature.

Mammouth du PHP | 965 Messages

23 mai 2006, 17:03

utilise md5() pour crypter tes données, je sais qu'il existe d'autres methode mais celle ci me semble largement suiffisante test et dis nous.

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

23 mai 2006, 17:03

Oui, avec les sessions

http://fr.php.net/manual/fr/ref.session.php

(voir surtout les exemples, après tu pourras lire le blabla du début :P)

Edition :
A lire quand même le chapitre "Sessions et sécurité"

Car si tes paramètres seront invisibles par les sessions, il faut quand même éviter d'y stocker des trucs sensibles
Par exemple :
stocker le statut (connecté) : OUI
stocker le login/mdp : NON

Mammouth du PHP | 965 Messages

23 mai 2006, 17:09

je pensais qu'a la base la question était comment faire en sorte que les données transmises par exemple par un formulaire soit le mieux codées, j'ai penser a l'utilisation de md5() et je ne comprends pas pourquoi tu preconise les session pour ca.

S'il transmet des données et utilise une base de donnée je pense qu'il doit utiliser les session déjà non ? :?

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

23 mai 2006, 17:13

Ceci :
savez-vous s'il est possible de cacher les parametres [...] qu'on passe de page en page à l'utilisateur
principalement le "cacher" et le "de page en page", me font plus penser à quelqu'un qui veut garder des paramètres au fur et à mesure de la navigation, plutôt qu'à une transmission de formulaire simple

Et je ne vois pas où tu peux voir dans ce message qu'il utilise une base de données

Donc je ne dis pas que tu as tort, mais en voyant la quesiton posée je pense que ma réponse n'est pas si stupide que tu as l'air de le croire

Des précisions seraient effectivement les bienvenues

Mammouth du PHP | 965 Messages

23 mai 2006, 17:14

Je n'ai jamais dis que ta reponse était stupide, j'ai juste penser qu'elle n'était pas forcement en rapport a sa demande voila tout, l'utilisation des sessions et un rappel ne font toujours pas de mal :wink:

Eléphant du PHP | 451 Messages

23 mai 2006, 17:15

je pensais qu'a la base la question était comment faire en sorte que les données transmises par exemple par un formulaire soit le mieux codées, j'ai penser a l'utilisation de md5() et je ne comprends pas pourquoi tu preconise les session pour ca.

S'il transmet des données et utilise une base de donnée je pense qu'il doit utiliser les session déjà non ? :?
Ben non pourquoi ?
Moi j'ai plein de scripts qui enregistrent des formulaires en base de données sans utiliser de sessions !!!
A priori les sessions ça sert à mémoriser des variables sans avoir à les propager de pages en pages mais on à pas forcément besoin de mémoriser sur plusieurs pages...
Il y a un truc qui m'échappe ?
Modifié en dernier par jpaul le 23 mai 2006, 17:16, modifié 1 fois.
Jpaul
J'essaye d'aider : parfois je fais des erreurs, on me les corrige et j'apprends un peu plus. Super ce forum :)

Eléphanteau du PHP | 28 Messages

23 mai 2006, 17:15

Merci d'avoir répondu si vite !

L'utilsiation des variables de sessions me semblent la meilleure solution mais elle est un poil longue a mettre en place car il faut modifier pas mal le code.
Je sais qu'il faut ce qu'il faut mais faute de temps, je ne pense pas utiliser cette méthode mais je la retient pour une utilisation future.

En ce qui concerne le md5(), il faut juste qu'avant de passer les parametres, je les crypte avec cette fonction mais il me semble qu'on ne peut les décrypter ensuite ? Comment lit on la "vraie" valeur des parametres dans la page suivante pour les utiliser ?

Merci de m'éclairer à ce sujet.
Enfin quelqu'un qui n'a pas de signature.

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

23 mai 2006, 17:20

Je ne comprend pas, sessions ou cryptage des valeurs, ça me semble prendre autant de temps à mettre en place si tu as beaucoup de page

Par contre, ça ne fait pas la même chose

Et le md5 n'est pas réversible

Est-ce que tu pourrais préciser ce que tu veux faire exactement ?

Eléphanteau du PHP | 28 Messages

23 mai 2006, 17:24

He bien disons qu'un utilisateur affiche tous mes objets, il voit dans la barre d'adresse :

Code : Tout sélectionner

http://127.0.0.1/Ougarit/affichage_tout.php?position=1
Ensuite, il clique sur suivant pour afficher les objets suivant et la il voit dans la barre d'adresse la requete ce qui n'est pas tres sécurié :

Code : Tout sélectionner

http://127.0.0.1/Ougarit/affichage_tout.php?position=16&requete= SELECT+%2A+FROM+objet+WHERE++type_objet%3D+%271%27+ OR++type_objet%3D+%272%27+OR++type_objet%3D+%273%27+ OR++1%21%3D1%3B
Je voudrais que l'utilisateur ne voit pas tous les parametres (clé primaires de bases de données passés en parametres suite a une selection, requetes...) dans la barre d'adresse de son navigateur.
Enfin quelqu'un qui n'a pas de signature.

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

23 mai 2006, 17:28

A quoi ça sert de passer TOUTE la requête dans l'url ?? :shock:
Il suffit de passer uniquement les valeurs utiles
Exemple, à partir d'une liste d'articles, si on veut en afficher un on passe le code (identifiant) de cet article

Quand a passer une clé primaire dans l'url, on fait ça tout le temps, et je ne vois pas ce qu'il y a de dangereux :roll:
A priori les sessions ça sert à mémoriser des variables sans avoir à les propager de pages en pages mais on à pas forcément besoin de mémoriser sur plusieurs pages...
Non en effet mais bon ça perd de son intérêt du coup :P