Securisation des requetes http

Amineos Messages postés 2 Statut Membre -  
fiddy Messages postés 11653 Date d'inscription   Statut Contributeur Dernière intervention   -
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 Statut Membre
 
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 Statut Membre
 
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 Statut Membre
 
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 Statut Membre
 
dans ce cas il faut utiliser la méthode post :s
0
bab4444
 
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 11653 Date d'inscription   Statut Contributeur Dernière intervention   1 847
 
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