Blinder sa base de donnée en php...


Linkid
WRInaute discret
WRInaute discret
 
Messages: 224
Inscription: 9 Mai 2006

Blinder sa base de donnée en php...

Message le Sam Mai 27, 2006 7:47

Bonjour, je suis en train de faire un script php de blog et je me demandais comment blinder ma base de donnée pour ne pas qu'on me supprime des tables...
Je ne connais pas beaucoup de fonction php le permettant, alors si vous pourriez les dire ici et les expliquer un peu, ça arrangerait tout le monde...

Merci !

petit-ourson
WRInaute impliqué
WRInaute impliqué
 
Messages: 855
Inscription: 31 Mai 2004

Message le Sam Mai 27, 2006 9:35

Euh normalement si ton script est bien fait on ne peut pas supprimer tes tables.

Sinon tu peux jouer avec les droits SQL (mais faut que tu puisses le faire sur ton serveur).

http://dev.mysql.com/doc/refman/5.0/en/grant.html

Zim'
WRInaute impliqué
WRInaute impliqué
 
Messages: 804
Inscription: 27 Avr 2006

Message le Sam Mai 27, 2006 9:46

comment pourrait-on supprimer des tables si ton script php ne comporte pas de failles le permettant?

spidetra
WRInaute passionné
WRInaute passionné
 
Messages: 1500
Inscription: 7 Juil 2003

Message le Sam Mai 27, 2006 11:05


Grantome
WRInaute accro
WRInaute accro
 
Messages: 2899
Inscription: 16 Jan 2004

Message le Sam Mai 27, 2006 11:33



Linkid
WRInaute discret
WRInaute discret
 
Messages: 224
Inscription: 9 Mai 2006

Message le Sam Mai 27, 2006 11:50

Et en clair, vous ne pourriez pas m'expliquer quelques fonctions utiles, comme par exemple htmlentities,...

Zim'
WRInaute impliqué
WRInaute impliqué
 
Messages: 804
Inscription: 27 Avr 2006

Message le Sam Mai 27, 2006 11:54

bah il y a pas vraiment de fonctions utile, mais il faut bien vérifier certaines choses avec tout opération sur tes données, ou sur ta base...

is_numeric, mysql_real_escape_string, addslashes, stripslashes et j'en passe

il faut tout connaitre ce genres de fonctions pour se prémunir contre des attaques par injection... entre autres!

thierry8
WRInaute accro
WRInaute accro
 
Messages: 3251
Inscription: 11 Juil 2005

Message le Sam Mai 27, 2006 12:14

Linkid a écrit:Et en clair, vous ne pourriez pas m'expliquer quelques fonctions utiles, comme par exemple htmlentities,...

Pourquoi devrions nous l'expliquer alors que le groupe PHP met en ligne une documentation super pratique !!

htmlentities()

spidetra
WRInaute passionné
WRInaute passionné
 
Messages: 1500
Inscription: 7 Juil 2003

Message le Sam Mai 27, 2006 12:26

Les wrinautes experts en Php pourront t'indiquer les traitements spécifiques à appliquer à toutes les données que tu doit intégrer dans une db.

La règle de base est de ne faire confiance à aucun systèmes extérieur.

1. Les données saisies dans les formulaires par tes visiteurs. c'est le cas le plus classique. Des wrinautes t'expliqueront comment filtrer ces données.

2. les manipulations des en-têtes HTTP. Ex : WorPress <= 1.5.2 est sensible à une injection SQL par manipulation du User Agent lors des posts de commentaires. Il faut aussi filtrer ces données si tu désire les insérer dans ta db.

3. Ne pas faire confiance à un système externe pour gérer ta sécurité. Ex : AdoDB en Php.
La combinaison Ado Db < 4.71 et PostGreSql est sensible aux injections SQL.

4. S'assurer que les versions de Php utilisé par ton hébergeur fixe les principales failles de sécurité.
Php4 < 4.4.2 et Php5 < 5.1.2 sont sensibles à des attaques de type XSS par manipulation des en-têtes HTTP + exploitation d'une faille dans la gestion des messages d'erreurs de l'extension mysqli.


La sécurité est un sujet complexe et vaste.
Les liens donnés te permettent déjà de te familiariser avec différents type d'attaque et comment les contrer.
Perso, je ne suis ni expert en Php, ni expert en sécurité pour te donner des infos plus pratiques. désolé.

LE conseil indispensable pour sécuriser ta base de donnée.
Fait des sauvegardes quotidiennes de ta base.

thierry8
WRInaute accro
WRInaute accro
 
Messages: 3251
Inscription: 11 Juil 2005

Message le Sam Mai 27, 2006 12:34

spidetra a écrit:LE conseil indispensable pour sécuriser ta base de donnée.
Fait des sauvegardes quotidiennes de ta base.

Oui, B.A.BA très souvent oublié, ou négligé par les webmasters.
Lorsque ça tombe, ça fait mal, très mal.


Szarah
WRInaute accro
WRInaute accro
 
Messages: 8093
Inscription: 22 Fév 2006

Message le Sam Mai 27, 2006 12:36

ET tester au moins une fois que la restauration fonctionne ...

Arf :)


Linkid
WRInaute discret
WRInaute discret
 
Messages: 224
Inscription: 9 Mai 2006

Message le Sam Mai 27, 2006 12:36

Mais c'est surtout pour les mots de passe que ça m'inquiète... car si quelqu'un a un script permettant de décoder les mdp, je suis mal !

Sinon, merci pour les astuces !


Linkid
WRInaute discret
WRInaute discret
 
Messages: 224
Inscription: 9 Mai 2006

Message le Sam Mai 27, 2006 12:37

Szarah a écrit:ET tester au moins une fois que la restauration fonctionne ...

Arf :)



La restauration ? quelle restauration ?

spidetra
WRInaute passionné
WRInaute passionné
 
Messages: 1500
Inscription: 7 Juil 2003

Message le Sam Mai 27, 2006 12:39

Linkid a écrit:Mais c'est surtout pour les mots de passe que ça m'inquiète... car si quelqu'un a un script permettant de décoder les mdp, je suis mal !

Sinon, merci pour les astuces !


Pour les mots de passe, la technique la plus classique se nomme : "grain de sel".
Tu utilise SHA1 pour coder tes mots de passe et pas MD5.
J'ai fait un post sur le "grain de sel", si je le retrouve, je t'envoie le lien. J'ai la flemme de le réecrire.


Szarah
WRInaute accro
WRInaute accro
 
Messages: 8093
Inscription: 22 Fév 2006

Message le Sam Mai 27, 2006 12:39

Tu peux faire dix sauvegardes par jour, ça ne sert à rien s'il n'est pas possible de la restaurer proprement ... et ça arrive

Blinder sa base de donnée en php...

Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité