JeuWeb - Crée ton jeu par navigateur
La sécurité & les bonnes pratiques - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : La sécurité & les bonnes pratiques (/showthread.php?tid=7389)

Pages : 1 2 3


RE: La sécurité & les bonnes pratiques - Xenos - 29-03-2016

Oui, tu peux ajouter d'autres règles type "l'id correspond-il à un objet sur lequel le joueur présent a des droits", mais c'est ici une question spécifique au métier du site/jeu.

Vérifier les entrées sert uniquement à s'assurer de la nature et de la validité des données (typage), vu que les entrées peuvent être quelconques.
Vérifier les droits liés au jeu/site sert uniquement à s'assurer que les règles du jeu son respectées.
Vérifier (encoder) les données lors de leur envoie vers la sortie sert uniquement à s'assurer qu'elles ne seront pas interprétées de travers par le client.

C'est vrai qu'on n'a pas dit explicitement de vérifier que le joueur a les bons droits sur les objets demandés, c'était seulement sous-jascent aux explications sur le partie javascript (le "isAdmin").


RE: La sécurité & les bonnes pratiques - L'Omniscient - 02-04-2016

Xenos, j'ai quelques soucis... (C'est peut-être pas le bon endroit pour en parler, désolé dans ce cas).

Alors, j'ai regardé sur Wikipédia, et j'ai bien compris comment on fait une injection SQL.
J'ai lu qu'on pouvait utiliser des requêtes préparées pour y pallier, ce que j'ai fais, mais tu dis que j'ai raté la partie encodage dans mon code.
Du coup sans ça je ne suis pas protégé des injections SQL c'est bien ça ?

Le soucis que j'ai avec ta deuxième méthode, c'est que certaines requêtes, écrites comme celle que j'ai écrit dans mon précédant post, ne sont pas les mêmes selon les conditions. Alors que c'est la même "variable" qui s'exécute, mais qui change selon la conditions, donc elle ne récupère elle-même pas les mêmes variables. Du coup, je ne peux pas les exécuter de la même manière. Du coup je serais tenté d'utiliser sql_escape() mais j'ai pas bien compris ce qu'il y avait de déconseillé à l'utiliser. Ca veut dire quoi 'il n'existe pas tellement' ?

Sinon sur wikipédia ils proposent ça : mysqli_real_escape_string C'est mieux que sql_escape() ?