IPB

Bienvenue invité ( Connexion | Inscription )

> les dangers de l'include PHP, pour un débutant
Options
Hyp
posté 24 Oct 2006, 22:29
Message #1


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 6 172
Inscrit : 7 May 2005
Membre no 38 651





Ce message a été modifié par Hyp - 12 May 2010, 11:51.
Go to the top of the page
 
+Quote Post
 
Start new topic
Réponse(s)
Hyp
posté 10 Jun 2007, 07:27
Message #2


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 6 172
Inscrit : 7 May 2005
Membre no 38 651





Ce message a été modifié par Hyp - 12 May 2010, 11:53.
Go to the top of the page
 
+Quote Post
Vin's
posté 10 Jun 2007, 10:36
Message #3


Macbidouilleur d'argent !
***

Groupe : Membres
Messages : 771
Inscrit : 9 Apr 2006
Membre no 59 107



CITATION(Hyp @ 10 Jun 2007, 08:27) [snapback]2239185[/snapback]

Est-ce que j'ai d'autres choses à vérifier ?

Si tu utilises une base de données, il faut faire attention à l'injection SQL...
Genre si tu as une requête SQL comme :
CODE
$sql = "SELECT * FROM une_table WHERE message_num=$msg_num"

$msg_num est censé être un nombre. Si un attaquant met un truc genre '1; [Requete SQL dangereuse]' dans $msg_num, il pourra exécuter [Requete SQL dangereuse] sur le serveur.
Pour éviter ça, quand tu récupères $msg_num, il ne faut pas faire :
CODE
$msg_id = $_GET['id'];

mais
CODE
$msg_id = (int)$_GET['id'];

Ainsi, si $_GET['id'] n'est pas un nombre, $msg_id contiendra 0. Le méchant hacker ne pourra pas exécuter sa requête SQL.
Lorsqu'on utilise des chaînes de caractères dans les requêtes SQL, on les met entre apostrophes simples :
CODE
$sql = "INSERT INTO une_autre_table VALUES ('$une_chaine')"

Il faut dans ce cas remplacer les apostrophes ' de $une_chaine par \' pour qu'elles ne soit pas interprétées comme la fin de la valeur à insérer. (par exemple si $une_chaine contient "blabla'); DELETE FROM une_autre table; --" la requête SQL sera "INSERT INTO une_autre_table VALUES ('blabla'); DELETE FROM une_autre table; --);" -- Mauvais !)

On peut éviter ce problème en utilisant la fonction $str = addslashes($str), mais je crois que htmlentities() le fait si on lui donne ENT_QUOTES en second paramètre (voir la documentation sur le site de PHP)
Un bon test est d'essayer de mettre autre chose qu'un nombre dans les variables envoyées par le navigateur qui devraient être un nombre, et des apostrophes dans les variables qui devraient être des chaines...

Ce message a été modifié par Vin's - 10 Jun 2007, 10:39.


--------------------
MacBook Pro 2.13 Ghz, 4 Go RAM, 500 Go DD — Quinti-boot Mac OS X 10.6.0, Debian GNU/Linux "unstable", Fedora 11, Windows 7, Haiku
Mac Mini 1.5 Ghz SuperDrive, 2 Go RAM, 160 Go DD - Tri-boot Mac OS X 10.5.8, Debian GNU/Linux Testing, Windows 7

Go to the top of the page
 
+Quote Post

Les messages de ce sujet
- Hyp   les dangers de l'include PHP   24 Oct 2006, 22:29
- - No6   Vieux probleme largement expliqué un peu partout ...   24 Oct 2006, 22:41
|- - Grognon   CITATION(No6 @ 24 Oct 2006, 22:41) 194733...   5 Dec 2006, 11:58
|- - schlum   CITATION(Grognon @ 5 Dec 2006, 11:58) 200...   5 Dec 2006, 12:03
|- - Grognon   CITATION(Grognon @ 5 Dec 2006, 11:58) 200...   5 Dec 2006, 12:14
|- - schlum   CITATION(Grognon @ 5 Dec 2006, 12:14) 200...   5 Dec 2006, 12:19
|- - Grognon   CITATION(schlum @ 5 Dec 2006, 12:19) 2007...   5 Dec 2006, 12:27
- - Hyp   Merci pour cette explication concise No6 J'i...   24 Oct 2006, 22:48
- - No6   Je me sens tout guilleret, j'ai l'impressi...   24 Oct 2006, 22:59
- - Hyp   RE: les dangers de l'include PHP   24 Oct 2006, 23:03
- - No6   Nous sommes tous obligés les uns envers les autre...   24 Oct 2006, 23:11
- - hubeert   coucou; d'une maniere générale ( même si je...   25 Oct 2006, 07:45
- - schlum   En général on active pas "register_globals...   25 Oct 2006, 09:29
- - hubeert   autre danger moins connu.. faire attention au ext...   25 Oct 2006, 10:30
- - canari   pour monfichierouilyamescodes.inc, autant faire un...   8 Nov 2006, 01:55
- - No6   CITATION(canari @ 8 Nov 2006, 01:55) 1969...   8 Nov 2006, 02:07
|- - canari   CITATION(No6 @ 8 Nov 2006, 02:07) 1969451...   8 Nov 2006, 02:26
- - DUX   le .inc pour les fichiers à inclure, c'est la...   8 Nov 2006, 17:50
- - Hyp   RE: les dangers de l'include PHP   16 Nov 2006, 13:33
|- - Hyp   CITATION(schlum @ 16 Nov 2006, 14:13) 198...   16 Nov 2006, 14:16
- - schlum   Euh... "include" c'est pour inclure ...   16 Nov 2006, 14:13
- - schlum   Ben justement, faut pas faire de "include(...   16 Nov 2006, 14:36
- - No6   CITATION(Hyp @ 16 Nov 2006, 13:33) 198269...   16 Nov 2006, 16:45
|- - Hyp   RE: les dangers de l'include PHP   16 Nov 2006, 19:20
- - Master Buck   Oui ou plus simplement, il faut vérifier l'ex...   16 Nov 2006, 20:11
|- - schlum   CITATION(Master Buck @ 16 Nov 2006, 20:11...   16 Nov 2006, 21:53
- - Hyp   RE: les dangers de l'include PHP   16 Nov 2006, 20:30
- - Master Buck   Euh, en toute logique, si le PHP est dans un fichi...   17 Nov 2006, 18:36
|- - schlum   CITATION(Master Buck @ 17 Nov 2006, 18:36...   17 Nov 2006, 23:09
|- - ghost-X   CITATION(Master Buck @ 17 Nov 2006, 18:36...   18 Nov 2006, 01:28
- - Master Buck   Ha ouaip, ok, je vais faire gaffe maintenant, je s...   18 Nov 2006, 11:20
- - schlum   D'ailleurs, je dis des bêtises ! À mon a...   5 Dec 2006, 12:29
|- - marc_os   CITATION(schlum @ 5 Dec 2006, 12:29) 2007...   5 Dec 2006, 17:58
- - Master Buck   En gros ce que tout le monde dit de façon assez f...   6 Dec 2006, 12:33
|- - marc_os   CITATION(Master Buck @ 6 Dec 2006, 12:33)...   6 Dec 2006, 14:05
- - Grognon   J'ai finalement opté pour require_once en che...   6 Dec 2006, 14:10
- - hubeert   que tu utilises require_once ou include_once ne va...   6 Dec 2006, 23:50
|- - Grognon   CITATION(hubeert @ 6 Dec 2006, 23:50) 201...   7 Dec 2006, 02:00
|- - marc_os   CITATION(Grognon @ 7 Dec 2006, 02:00) 201...   7 Dec 2006, 11:36
- - Grognon   Plus qu'une question de temps (même si j...   7 Dec 2006, 12:09
- - Hyp   RE: les dangers de l'include PHP   16 Jan 2007, 21:37
- - schlum   Non, ça ne fonctionne pas si le serveur est corre...   16 Jan 2007, 22:18
- - Hyp   Merci   16 Jan 2007, 22:21
- - Hyp   RE: les dangers de l'include PHP   10 Jun 2007, 07:27
|- - Vin's   CITATION(Hyp @ 10 Jun 2007, 08:27) 223918...   10 Jun 2007, 10:36
- - hubeert   coucou; que veux tu dire par "mes include s...   10 Jun 2007, 10:45
- - Master Buck   Qu'il ne passe pas de paramètres qui viennent...   10 Jun 2007, 11:50
|- - Hyp   RE: les dangers de l'include PHP   10 Jun 2007, 17:37
- - canari   au lieu de addslashes, il est préférable d'u...   10 Jun 2007, 15:05
- - Master Buck   Ça existe, ça, des gens qui n'utilisent pas ...   10 Jun 2007, 19:39
|- - Hyp   RE: les dangers de l'include PHP   10 Jun 2007, 20:07
|- - Hyp   RE: les dangers de l'include PHP   13 Jul 2007, 15:16
- - schlum   Ca dépend comment tu gères ton système de fichi...   13 Jul 2007, 15:23
- - Hyp   RE: les dangers de l'include PHP   13 Jul 2007, 15:32
- - sky   MySQL permet de ne pas avoir de soucis en cas d...   13 Jul 2007, 15:38
- - schlum   Non non, faire une connexion à une base de donné...   13 Jul 2007, 16:23
|- - sky   CITATION(schlum @ 13 Jul 2007, 15:23) 227...   13 Jul 2007, 17:40
|- - Hyp   RE: les dangers de l'include PHP   13 Jul 2007, 17:48
- - sky   A mon avis, la diff en perf doit etre negligeable....   13 Jul 2007, 18:44


Reply to this topicStart new topic
2 utilisateur(s) sur ce sujet (2 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 5th April 2026 - 19:05