Page 1 sur 1

Eviter injection sql

Posté : 09 août 2018, 05:58
par yoann38
Bonjour,
J'ai trouvé un "hack" dans mes acces.

91.134.143.162 - - [07/Aug/2018:04:00:01 +0200] "GET /actu.php?ville=';DROP%20DATABASE%20ncs125889;-- HTTP/1.1" 301 280 "-" "Wget/1.18 (linux-gnu)" "monsite.fr"

Donc j'ai trouvé comment ma base été supprimée j'aimerais me protéger de cela...et voudrais savoir comment faire du coup s'il vous plait.

Re: Eviter injection sql

Posté : 09 août 2018, 09:48
par @rthur
Toutes tes variables que tu récupères d'un visiteur, SANS EXCEPTION, doivent être filtrées avant de les traiter pour être sûr qu'elles soient bien dans le format de ce que tu attends

PHP a des fonctions pour appliquer des filtres qui fonctionnent très bien :
https://php.net/filter_var
https://php.net/filter_input
http://php.net/manual/fr/filter.filters.php

Au niveau de tes requêtes SQL, il est préférable d'utiliser des requêtes préparées, ça rend impossible toute injection :
http://php.net/manual/fr/pdo.prepared-statements.php