Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens! Pour la définition de l'INJECTION SQL, je vous renvoie à la documentation de Wikipédia : Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens! Le risque principal est qu'en saisissant certains caractères dans un champ de saisie, on se retrouve à pouvoir afficher ou manipuler plus de données que l'on devrait, et contourner ainsi les intentions initiales de la requête. Imaginez par exemple le risque d'un client malicieux qui pourrait accéder aux informations de tous les clients de la base, plutôt qu'uniquement consulter les siennes. Ou une suppression qui aurait dû se produire sur un seul compte, et qui les supprime tous. Voici la syntaxe qu'on nous propose souvent dans des exemples windev/webdev, mais aussi dans la documentation officielle en ligne de PCSOFT, et qui peut se révéler problématique : Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens! Car si le client saisit dans SAI_E_Mail la valeur spéciale : ' 1=1 – le SQL renvoie tous les clients, et non pas uniquement celui censé être autorisé. Pour se prémunir de ce cas, il faut passer par la syntaxe suivante : Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens! En effet, dans ce cas précis, la requête est pré-traitée par HFSQL contre l'injection SQL. Observation : Bien que la source de donnée sdMaRequête ignore l’existence de {paramEmail} et {paramMotDePasse} avant l'exécution du HExécuteRequeteSQL(), on peut tout de même les renseigner de cette façon. Il n'y aura donc pas de complétion automatique du code proposée par windev/webdev, vérifiez donc bien la syntaxe des paramètres que vous définissez.
Merci C'est intéressant de savoir Pourtant avec les paramètres %1, %2, etc. était très facile Bon!!!!
Intéressant, ce pendant, je pensais que pcsoft avait géré cela... un peut gros pour imaginer le contraire.