Warning: count(): Parameter must be an array or an object that implements Countable in /homepages/41/d573887948/htdocs/agencedigitale/blog/wp-content/themes/avada/includes/class-avada-nav-walker.php on line 339

Se protéger du piratage

//Se protéger du piratage

Se protéger du piratage

Comment se protéger du piratage par injection SQL, dans une requête textuelle?

Pour la définition de l’INJECTION SQL, je vous renvoie à la documentation de Wikipédia :
https://fr.wikipedia.org/wiki/Injection_SQL
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 :

InjectSQL_BAD

InjectSQL_BAD

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 :

InjectSQL_OK

InjectSQL_OK

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.

Source : Carnet windev Blog

By | 2018-01-04T08:19:36+00:00 janvier 4th, 2018|Categories: Webdev|Tags: |0 Comments

About the Author:

Leave A Comment

This Is A Custom Widget

This Sliding Bar can be switched on or off in theme options, and can take any widget you throw at it or even fill it with your custom HTML Code. Its perfect for grabbing the attention of your viewers. Choose between 1, 2, 3 or 4 columns, set the background color, widget divider color, activate transparency, a top border or fully disable it on desktop and mobile.

This Is A Custom Widget

This Sliding Bar can be switched on or off in theme options, and can take any widget you throw at it or even fill it with your custom HTML Code. Its perfect for grabbing the attention of your viewers. Choose between 1, 2, 3 or 4 columns, set the background color, widget divider color, activate transparency, a top border or fully disable it on desktop and mobile.