PHP Sécurité des $_GET

Résolu/Fermé
spylller Messages postés 395 Date d'inscription dimanche 1 mars 2015 Statut Membre Dernière intervention 11 juillet 2019 - 8 nov. 2016 à 05:54
SKYMWebDev Messages postés 162 Date d'inscription jeudi 10 novembre 2016 Statut Membre Dernière intervention 14 février 2018 - 10 nov. 2016 à 19:58
Bonjour,
Pour protéger mes $_GET et $_POST je fais ca, c'est suffisant ?
$elimination = array("<",">","/","\\","(",")","{","}");
$pseudo = str_replace($elimination, "", $_POST['pseudo']);

Merci
A voir également:

2 réponses

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
8 nov. 2016 à 09:21
Bonjour
Pour les protéger de ?
0
spylller Messages postés 395 Date d'inscription dimanche 1 mars 2015 Statut Membre Dernière intervention 11 juillet 2019 28
8 nov. 2016 à 10:04
Pour pas que quelqu'un puisse insérer du code dans le site

--
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
8 nov. 2016 à 10:12
Tu utilises quoi pour te connecter à ta BDD ?
Pour éviter l'injection SQL, tu peux aussi ajouter dans les caractères à supprimer les points-virgules et les tirets

Si tu utilises PDO, tu peux déjà protéger via les requêtes préparées.(perso.. c'est mon choix )
Si tu es en mysqli, tu peux aussi utiliser mysqli_real_escape_string
0
spylller Messages postés 395 Date d'inscription dimanche 1 mars 2015 Statut Membre Dernière intervention 11 juillet 2019 28 > jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024
8 nov. 2016 à 18:29
$bdd = new PDO('mysql:ho
Puis $req = $bdd->prepare('SELECT * ...
$req->execute()
0
SKYMWebDev Messages postés 162 Date d'inscription jeudi 10 novembre 2016 Statut Membre Dernière intervention 14 février 2018 174
10 nov. 2016 à 17:41
Pour protéger une variable "_GET" contre l'inclusion de code html ou autre dans une balise "input" il suffit de rajouter la fonction "htmlspecialchars()" lors de la récupération de la variable ! Exemple :
$nom_variable = htmlspecialchars($_GET['var']);

Cette fonction fonctionne également avec "_POST" ou autre type de variable...
En espérant vous avoir aidé...

SKYMWebDev
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
10 nov. 2016 à 19:49
Non !
Ce type de fonction est utile non pas à lors de la récupération des données... mais UNIQUEMENT lors de l'utilisation (pour l'affichage par exemple).
Il est préférable de stocker les données de façon "brut".
Les soucis d'injection sql sont contrés par l'utilisation des requêtes préparées et les fonctions telles que PDO::quote
0
SKYMWebDev Messages postés 162 Date d'inscription jeudi 10 novembre 2016 Statut Membre Dernière intervention 14 février 2018 174 > jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024
Modifié par SKYMWebDev le 10/11/2016 à 19:53
Moi je l'utilise comme ça et ça fonctionne très bien (ex: si j'insère "<b>cc</b>" et que je recupere avec ma fonction dans la base de données ca me met ""b"cc"/b"" et ducoup lors de l'affichage au lieu de traiter le truc ca l'affiche en brut...)
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650 > SKYMWebDev Messages postés 162 Date d'inscription jeudi 10 novembre 2016 Statut Membre Dernière intervention 14 février 2018
10 nov. 2016 à 19:55
Je ne dis pas que ça ne fonctionne pas.....
C'est juste pas la meilleur façon de faire.
(c'est un peu comme vouloir planter un clou avec un râteau.....)
0
SKYMWebDev Messages postés 162 Date d'inscription jeudi 10 novembre 2016 Statut Membre Dernière intervention 14 février 2018 174 > jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024
10 nov. 2016 à 19:58
Oui je vous comprend (et je vous crois ;) ) je ne suis pas un spécialiste, mais c comme ca que jai appris comme ca sur openclassrom... Je tacherait d'apprendre l'autre fonction, Merci ! ;)
0