Get ou Post

Enzo34!

Bonsoir,
Débutant en Php je souhaiterais trier mes valeurs du plus petit au plus grand et inverse pour ce faire j'utilise Asc ou Desc précédent de Prix pour trier le prix, je récupère donc la valeur de mon select et je met sous forme dans mon url
?prix=asc ou desc cela fonctionne cependant j'aimerais savoir si cela présente un gros manque de sécurité ou pas trop car quand j’enlève asc et que je met une valeur alternative que la requête ne...
Bonjour visiteur, merci de vous inscrire ou de vous connecter pour voir l'intégralité de ce sujet ! Identifiez-vous ou inscrivez-vous dès maintenant.
 

WhiiTe

Tant que tu sécurises correctement tes entrées, il ne devrait pas y avoir de risque de faille, en général pour les tri comme ça on passe par du GET :) Passe toujours par des requêtes préparées
 

Enzo34!

WhiiTe' a dit:
Tant que tu sécurises correctement tes entrées, il ne devrait pas y avoir de risque de faille, en général pour les tri comme ça on passe par du GET :) Passe toujours par des requêtes préparées
Cliquez pour agrandir...
$tri = $_GET['tri'] ?? '';
$req = $bdd->prépare(select et tout le bazar ensuite BY prix '.$tri.'');
ensuite j’exécute mais je vois pas tellement comment securisé ^^
la ça fonctionne mais je me dis que si quelqu'un de mal intentionné enlève asc et commence a faire une requête dedans ça pourrais poser problème ?
?tri=asc
?tri= DELETE
 

WhiiTe

Enzo ? a dit:
$tri = $_GET['tri'] ?? '';
$req = $bdd->prépare(select et tout le bazar ensuite BY prix '.$tri.'');
ensuite j’exécute mais je vois pas tellement comment securisé ^^
la ça fonctionne mais je me dis que si quelqu'un de mal intentionné enlève asc et commence a faire une requête dedans ça pourrais poser problème ?
?tri=asc
?tri= DELETE
Cliquez pour agrandir...

Tu peux te contenter de vérifier si on a ?tri=[asc/desc], si c'est asc ou desc, dans ce cas tu prends la valeur, si c'est autre chose tu mets desc par défaut, comme ça on peut pas injecter de code
 

WhiiTe

Enzo ? a dit:
Voici ma solution ^^ je la poste au cas quelqu’un cherche ^^

PHP:
Code:
Vous devez être connecté pour voir le contenu masqué.
Cliquez pour agrandir...
Tu peux même faire ça en une ligne :)

$orderBy = (!empty($_GET['tri']) && $_GET['tri'] == "asc") ? 'ASC' : 'DESC';

Si c'est "asc" alors tu prends ASC, si c'est autre chose, qu'importe, tu mets DESC
 

Enzo34!

WhiiTe' a dit:
Tu peux même faire ça en une ligne :)

$orderBy = (!empty($_GET['tri']) && $_GET['tri'] == "asc") ? 'ASC' : 'DESC';

Si c'est "asc" alors tu prends ASC, si c'est autre chose, qu'importe, tu mets DESC
Cliquez pour agrandir...
Petite question mon select ne reste pas sur la données sélectionner pour mes input j'ai mis un echo de ma valeur entrer sauf que pour un select ça fonctionne pas trop ^^
 
Haut Bas