Bienvenue sur le forum de THELIA.
Vous n'êtes pas identifié.
Bonjour tous
J'aimerais savoir comment se fait une requête SQL avec Thélia
Le bout de code qui le fait.
Hors ligne
Rien de particulier avec Thélia, qui utilise les fonctions de base de PHP pour causer à mySQL.
L'exemple de base avec mySQL, si l'on suppose que la connexion avec la base de données a été créée aupravant:
$query = "select * from une_table where une_condition='une valeur'";
$result = mysql_query($query);
while ($result && $row = mysql_fetch_array($result))
{
// faire quelque chose avec $row['nom_de_colonne']
}Il existe sur le Net des tutos biens faits sur le SQL en général, les spécificités SQL de mySQL, et l'utilisation de mySQL avec PHP.
Dernière modification par roadster31 (04-02-2010 17:55:56)
Hors ligne
RE
Je te remercie roadster31
En fait je suis en rapport avec quelqu'un qui a vu le site et m'a prévenu de la mauvaise sécurité de plusieurs fichiers en SQL Injection_ et en Cross Site Scripting (XSS)_
Il m'a parlé d'échapper toutes information dans les requêtes SQL via mysql_real_escape_string()
(j'ai cru que c'était des gros-mots ....... ben non ça existe
)
Et comme exemple il m'a donné:
$query='SELECT * FROM matable WHERE mavariable=' . $_GET['variable'] . ' ORDER BY id DESC';
D'ou ma question dans ce topic.
Dernière modification par griggione (05-02-2010 16:42:29)
Hors ligne
Pour les problèmes de sécurité, je ne sais pas si il t'a dit ca pour te mettre en garde en manipulant bien les requêtes ou si c'est pour te mettre en garde contre thelia.
Quoi qu'il en soit, je vais pas te mentir il y a à l'heure à actuel un XSS qu'on est en train de corriger et la correction sera mis à disposition rapidement. (Bon ca reste du XSS... mais c'est toujours mieux sans).
Concernant les injections, pour l'instant pas d'écho de notre côté, mais on va pas attendre qu'un exploit soit publié pour changer quelque chose, donc on va mettre en place des outils pour faciliter les manipulations des variables (get, post ou autre) pour le développement des plugins. On a commencé à travailler dessus, si vous voulez voir ce qu'on a fait c'est dispo sur le svn et courant février on s'organise un session de travail avec yoan ou on ne fera que du Thelia.
Mais je te rassure on ne fait pas les requêtes comme l'exemple que tu nous a donné, sinon c'est sur que dans cet exemple une injection est tout à fait possible.
Aussi, mysql_real_escape_string n'est pas une fonction magique qui enlèvera les problèmes d'injection. Pour ca je ne connais qu'une seule solution utiliser la PDO (et on va y venir sur Thelia) et les requêtes préparés.
Hors ligne
Bonjour manu
Effectivement les requêtes sont differentes pour thélia ma question et surtout ma réponse.
Je ne sais pas comment il a fait pour tester, pas faute de lui avoir demandé parce que j'aimerais le faire moi-même, mais j'ai une liste des fichiers concernés que je t'envoie par MP, si ça peut te servir ?
Pour le reste j'attend donc avec patience les travaux de février, je ne doute pas que la sécurité chez Octolys est une priorité.
Hors ligne
oui pas de soucis tu peux m'envoyer tout ca je suis curieux de voir ce qu'il a pu trouver ![]()
Merci
Hors ligne
RE
Ben c'est déja parti ???
Hors ligne
c'était en spam ![]()
Hors ligne
Bon bah comme d'hab on nous annonce une faille par injection et... on nous dit il ne faut pas qu'il y est "select * from truc where machin=".$_GET["chose"]." ..."; mais le problème c'est qu'on en a pas dans Thelia. Et puis si il peut faire une injection sur rss.php il peut le faire sur tout le site donc bon...
Merci en tout cas, on reste vigilant, si il a quelque chose de plus concret à montrer on regardera sinon avec ca comme ca, je ne vois pas comment il peut faire son injection (ce qui ne veut pas dire qu'il est tort mais j'arrive pas à comprendre.)
Hors ligne
RE
Je lui ai montré comment se font les requêtes avec thélia et j'attend sa réponse.
Que j'apporterais bien sur.
Hors ligne
RE
La réponse:
Le tout c'est de savoir quel est le code pour $search, $order et $limit
C'est surement l'une des ces variables (ou toutes qu'il faut échapper)
Bon comme je comprend rien je me contente de faire passer.
Hors ligne
tu as eu raison. On regardera de notre côté mais à première vu je ne vois rien. Je te tiens au courant quand j'aurais regardé avec plus de précisions.
Hors ligne
RE
Il t'envoie du courrier, comment il fait et quels liens, mais bon je suis pas maso, je t'envoie ça par MP.
Surveille tes spams ![]()
Hors ligne