Bonjour,

Avant tout veuillez m'excuser si ce sujet a déjà été abordé dans le forum : après une recherche je n'ai trouvé que la référence d'un livre (Sécurité PHP 5 et MYSQL). J'ai malheureursement peu de temps à disposition pour m'intéresser à ces 300 pages (mais je le ferai cerrtianement par la suite).

Je ne suis pas développeur mais chef de projet, j'ai donc une vision globale des rapports infra/système & réseau/couche applicative.

Je me suis lancé un challenge personnel, à savoir développer un site ecommerce avec mes connaissances basées sur des années d'expérience en entreprise (+ des connaissances personnelles en scripting ou programmation (niveau neuneu)).

Mon propos est ici de me placer au niveau du code, et de la sécurité des appels de base mysql dans un environnement WAMP (ou Xamp sur Linux).

J'ai en effet (à ma grande surprise) réussi à développer une bonne partie du site après avoir consulté de nombreux tutos et de nombreux sites d'entraide (en me contentant des réponses apportées), mais au final, m'étant renseigné sur le risque d'injection SQL, je me vois contraint de revoir tout le code afin de le sécuriser.

Ma question est donc la suivante : Y a-t-il un moyen sûr ou une méthode sure de coder en structurant son code dans différents fichiers, par exemple script principal, appelant un script où sont définies les variables, un autre les fonctions (javascirpt par ex) et un autre les instructions SQL ? ou cela n'a-t-il aucune incidence ?

Deuxième question qui vient compléter la première : Afin d'éviter des intrusions, qu'est-ce qui ne doit pas circuler exactement entre un client et un serveur ? (plutôt que de décrire uniquement comment protéger l'accès aux valeurs des variables).

Je ne vais pas m'aventurer à mettre un bout de code ici car il s'agit de décrire une méthode globale.

J'ai pour ma part effectué des appels de bases classiques avec les instructions INSERT et SELECt essentiellement.

Je suis au courant pour les escapestring concernant l'appel des valeurs de la base avec $_post ou $_get, afin de protéger l'accès aux valeurs de la base, ainsi que des méthodes préparées.

Est-ce cependant suffisant ? Le risque d'injection ne vient-il pas plutôt (ou également) de la manière de coder son PHP ?

Si j'ai bien compris un hacker ne s'attaque pas au php (côté serveur -à moins d'une superfaille au niveau authentification), mais profite de la relation client/serveur pour introduire des données qui peuvent corrompre la base ou lancer des instructions sur la base pour accéder à ses valeurs.

Ce sont ces points que j'aimerais éclaircir.

Merci pour qui m'aura compris, qui aura le courage de faire un mini-tuto sur ces demandes de manière "fonctionnelle" et globale (sans rentrer dans des détails de code si possible) et désolé de la longueur du POST.