Securisation des requetes http

Fermé
Amineos Messages postés 2 Date d'inscription samedi 18 août 2007 Statut Membre Dernière intervention 18 août 2007 - 18 août 2007 à 15:44
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 7 sept. 2008 à 01:26
bj
je suis nouveau dns ccm et je souhiteri un peu d'aide

je suis entrain de developper un site a l'aide de php et dans une des pages je doit envoyer un requete comportant un passement de variable comme suivant:

<a href="inscription.php?id_cat=<? echo $cat?>">categorie1</a>

avec id_cat est la variable que je passe en parametre et que je recupere par la suite et $cat est une variable qui contient le numero de la categorie choisie par le client.

l'affectation de $cat dans id_cat ca marche ainsi que la recuperation de id_cat par la suite, en gros tout marche correctement.

le probleme que les parametres sont passer par la methode get puisque j'ai pas la mains de changer la methode en post donc les variables sont fficher dans la requete http or je ne veut pas qu'ils le soient. existe-t-il un code qui peut resoudre ce probleme oubien une autre methode pour passer ces param autre que les formulaires .

2 réponses

nherment Messages postés 94 Date d'inscription mercredi 8 août 2007 Statut Membre Dernière intervention 7 septembre 2007
18 août 2007 à 15:49
Tu n'as que la requete get.

Il y a cependant plusieurs manières de vérifier que la variable $_GET['id_cat'] contienne bien ce que tu veuilles.

Soit tu compares cette variable à un tableau contenant toutes les valeurs autorisées.

Soit tu vérifies avec les expressions régulières (regex) si cette variable est conforma à ce que tu veux.
pour les regex tu as la fonction preg_match.

Par exemple pour vérifier que ton $_GET['id_cat'] est bien un nombre, tu peux faire :

if(preg_match("#^[0-9]+$#",$_GET['id_cat'])
{
     id_cat = $_GET['id_cat'];
}
else
{
     id_cat = valeur_par_defaut;
}
0
Amineos Messages postés 2 Date d'inscription samedi 18 août 2007 Statut Membre Dernière intervention 18 août 2007
18 août 2007 à 16:13
merci mé ce n'est pas le probleme...

le passement des varibles et la verification se font correctement.
ce que je veut est que les variables et leurs valeurs ne s'affichent pas dans l'adresse http qui s'affiche dans la barre d'adresse du navigateur

j'ai : "http://172.0.0.1/monsite/inscription.php?id_cat=2"

or ce que je veut voir est "http://172.0.0.1/monsite/inscription.php" cad le meme format que la methode post.

merci encore :)
0
Moua > Amineos Messages postés 2 Date d'inscription samedi 18 août 2007 Statut Membre Dernière intervention 18 août 2007
18 août 2007 à 21:34
pour passer des variables par méthod post, tu dois utiliser un formulaire...
du genre:
<form method="post" action="inscription.php">
<input type="text" value="1" name="id_cat"/>
<input type="submit" value="Envoyer"/>
</form>

Et grâce à ca, tu passe grace à POST, la variable $_POST['id_cat'];
0
nherment Messages postés 94 Date d'inscription mercredi 8 août 2007 Statut Membre Dernière intervention 7 septembre 2007
18 août 2007 à 20:35
dans ce cas il faut utiliser la méthode post :s
0
Euu vous pouvez pas répondre à sa question ???

Il demande si il peut faire sans passer par la méthode POST et la réponse est qu'il doit prendre la méthode POST ...

Bande de boulet ... si vous savez pas faut pas répondre !!!
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 836
7 sept. 2008 à 01:26
Hum, là désolé mais c'est toi le boulet.
D'une, les personnes sont là pour aider pas pour être insultées.
De deux, tu viens parler d'un sujet datant de plus d'un an.
0