SIMPLE CLASSE POUR RÉCUPÉRER LES RÉSULTATS D'UNE REQUETE SQL

Messages postés
6161
Date d'inscription
dimanche 21 décembre 2003
Statut
Modérateur
Dernière intervention
4 septembre 2013
- - Dernière réponse : emanueledimauro
Messages postés
30
Date d'inscription
samedi 11 octobre 2008
Statut
Membre
Dernière intervention
13 avril 2011
- 13 avril 2011 à 14:28
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/53035-simple-classe-pour-recuperer-les-resultats-d-une-requete-sql

Afficher la suite 
pegase31
Messages postés
6161
Date d'inscription
dimanche 21 décembre 2003
Statut
Modérateur
Dernière intervention
4 septembre 2013
6 -
Bonjour, c'est intéressant comme façon de faire, mais niveau sécurité c'est 0 pointé ...

N'importe qui étant capable de décompiler le flash sera capable de détruire ta base avec un simple "DROP SCHEMA" depuis n'importe quelle adresse en injectant du POST dans l'url (c'est tout à fait faisable).

Donc intéressant techniquement, mais solution à fuir comme la peste.

Peg'
emanueledimauro
Messages postés
30
Date d'inscription
samedi 11 octobre 2008
Statut
Membre
Dernière intervention
13 avril 2011
-
Merci Pegase31 pour la réponse très pertinente...
Personnellement j'ai conçu ce genre de script à l'intérieur d'un répertoire protégé par htaccess, en gros pour faire de l'admin ou bien dans des projets de logiciel en ligne, où il y a que le client qui peut accéder au swf.

Sinon j'ai jamais décompilé un swf. Là il suffit pas de trouver la chaine de cryptage, mais il faut décompiler carrément la fonction query à l'intérieur de la classe. Il est vraiment si facile ?

Il y a de toute façon une solution simple pour résoudre les problèmes de sécurité que tu évoques, et c'est de gérer l'autorisation au requêtes au niveau du php (fichier data.php).

On interdit toute sorte de update, insert, drop ect... d'ailleurs cette classe est pensé pour faire juste du SELECT...

Quelqu'un à une idée pour mieux protéger le tout ?
pegase31
Messages postés
6161
Date d'inscription
dimanche 21 décembre 2003
Statut
Modérateur
Dernière intervention
4 septembre 2013
6 -
Le htaccess ne protège rien, puisque le swf doit pouvoir accéder librement au php pour faire les transferts de données.

Même déjà à l'intérieur même d'un php brut il est difficile de faire une véritable protection, alors si tu extériorise la requête, c'est hyper simple de tout planter et de faire n'importe quoi.
Donc gérer du SQL directement dans flash, ce n'est pas possible, car pas sécurisé. Et c'est pour cela que ça n'a jamais été implémenté en ActionScript.

Et pour te répondre : décrypter la fonction query est inutile, puisque tu passes ta variable en clair lors de l'appel ...

Si tu veux gérer tes requêtes dans le php, ça revient au même que de faire tes demandes de variable via php .. et donc de faire la requête dans le php... et donc réinventer la roue.

Mais cette réflexion est intéressante pour prouver que flash est et doit rester une interface utilisateur. Rien de plus.

Peg'
emanueledimauro
Messages postés
30
Date d'inscription
samedi 11 octobre 2008
Statut
Membre
Dernière intervention
13 avril 2011
-
Peg,

je comprends pas ta phrase "Le htaccess ne protège rien, puisque le swf doit pouvoir accéder librement au php pour faire les transferts de données."

Si le swf et le data.php se trouvent à l'intérieur d'un répertoire protégé
il n'y a pas moyen d'accéder au swf et de le décrypter.
Au contraire le swf et le php communiquent sans problèmes du moment
où on a mis user et pass et on est rentré via le navigateur à la racine du répertoire.

Tu dis aussi que :
"Et pour te répondre : décrypter la fonction query est inutile, puisque tu passes ta variable en clair lors de l'appel ..."

Lors de l'appel je passe pas la clef de cryptage.
Je passe juste la requête crypté et une variable aléatoire pour éviter le cache.

Sinon concernant la gestion coté php, je ne dis pas de faire le requêtes à partir du php, mais de mettre un contrôle sur la requête décrypté qui l'analyse pour savoir s'il s'agit juste d'un SELECT ou bien d'un UPDATE, INSERT ou autre....
pegase31
Messages postés
6161
Date d'inscription
dimanche 21 décembre 2003
Statut
Modérateur
Dernière intervention
4 septembre 2013
6 -
Un swf se comporte comme une image, c'ets à dire qu'il n'est plus physiquement sur le serveur, mais chez le client .. donc si tu protèges ton dossier par htaccess, non seulement le flash ne pourra pas s'afficher sur la page (car pas dispo de l'extérieur), mais en plus le php ne sera pas dispo pour les transferts de données ... As-tu déjà essayé ?

Ensuite, je vois ça dans ton code : mysql.query_exec("select nom, prenom from matable");
Si ce n'est pas une requête en clair, je ne sais pas ce que c'est ...
Il suffit de changer le texte et ,crypté ou pas, je te flingue ta base sans soucis.

Comment comptes-tu palier à ce gros problème, alors ?

Peg'