Merci bcp encore, ça répond à pas mal de questions que je me posais sur la sécurité... Il ne suffit pas de sécuriser le moment où on accède à la bdd, il faut aussi vérifier ce qu'on y insère. ça paraît évident quand on y pense, mais justement on y pense pas forcément
* Pour l'inscription des clients, j'ai un form (input, submit etc.) et un traitement en php qui enregistre en bdd (mysql - classique)
Le mieux est d'encoder avec htmlspecialchars avant POST vers php (dans ce cas, j'imagine qu'il faut faire une petite fonction : onSubmit(encode avec htmlspecialchars) - ou - dans la page php elle-même? (dans ce cas, on peut faire $id = (int) $_POST['id']; pour les nombres et PDO::quote() pour les string, c'est ça? )
* A ce propos, au moment d'exécuter une requête :
$req->bindParam(':id', $id, PDO::PARAM_STR);
et
$req->bindParam(':id', $id, PDO::PARAM_INT);
fonctionnent tous les 2. C'est parce que la base mysql enregistre tout en string?
* Pour la différence JS/PHP, je connais la base JS/client PHP/serveur, mais c'est vrai qu'on ne pense pas forcément à la distance entre les 2 quand on est en local! J'imagine qu'un bon code est celui qui tente de réduire les allers-retours entre html/js et php.
Par exemple, j'ai une fonction de rajout de marqueur qui allait chercher le maxMarkerId en php à chaque fois (ensuite ds la focntion on fait ++ en JS pour enregistrer le nouveau marqueur avec un ID supérieur de 1 au max, pour incrémenter l'affaire). Et bien ça ne marchait bien que pour le premier ajout de marqueur.
En déclarant maxMarkerId une fois pour toutes (tjs en php, mais en dehors de la fonction - en début de JS) et en faisant juste ++ (en JS) dans la focntion, plus de soucis.
Tu crois que c'est justement ce problème de 'non synchronisation' entre JS et PHP? Du style, le php n'a pas le temps de renvoyer la bonne variable que le JS a déjà fini sa tournée ??
* Et pour l'encodage, je fais tout avec notepad++ en utf8 sans bom et ai mis <meta charset=utf-8 /> en début de html. ça j'ai commencé à saisir avec le temps que sans utf8, c'était bien difficile notre belle langue pleine d'accents Je n'ai pas trop de problèmes (ou alors c'est résolu) pour l'instant de ce côté là.
Sauf 2 petits trucs pas très graves :
**je n'ai donc pas encore fait de htmlspecialchars ou autre sur les input pour vérifier l'absence de balises etc...
A l'inscription, à la connexion et à l'entrée dans la bdd, le pseudo circule librement Or, si un pseudo Vinz est bien enregistré en base, on peut se connecter avec vinz ou Vinz indifféremment !
**A la lecture sur phpMyAdmin, un peudo Rémi sera affiché Rémi. Pas de pb à la connexion ni si on affiche le contenu de la base via une page php utf8, mais bon... ça doit être une option à trouver dans phpMyAdmin.
En tous cas, merci, et si tu en marre de répondre pas de soucis !
Partager