Mot de Passe MySQL

Réduire
X
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [Problème] Mot de Passe MySQL

    Salut,

    J'ai développé un site joomla/virtuemart et un site flash qui lit la base de donnée du site joomla à l'aide de amfphp.
    Le problème c'est que j'ai un fichier php éxecuté par l'application flash qui contient explicitement le nom de la base, le nom d'utilisateur et le mot de passe :

    Code:
    	public function __construct()
    	{
    	   $this->dbh = mysql_connect ("localhost", "Utilisateur", "MotDePasse") or die ('I cannot connect to the database because: ' . mysql_error());
    		mysql_select_db ("NomDeBase");
    	}
    	
    	function getProducts()
    	{
    		return mysql_query(sprintf("SELECT jos_vm_product.product_s_desc, jos_vm_product.product_full_image, jos_vm_product.product_name, jos_vm_product_price.product_price, jos_vm_product.product_sku jos_vm_product.product_publish FROM jos_vm_product, jos_vm_product_price WHERE jos_vm_product.product_id = jos_vm_product_price.product_id"));
    	}
    Je suppose que c'est pas top au niveau sécurité, mais je sais pas comment faire...

    J'ai un dossier amfphp qui contient le framework et les services (le code ci dessus) à la racine de mon site et je sais pas s'il faudrait sécuriser quoi que se soit ?

    Je comprends le php mais j'en ai jamais fais..

    Merci !
    Arthur

  • #2
    Salut Arthur

    comme tu le dis si bien: "j'ai un fichier php éxecuté par l'application flash"

    Donc on supposera que ce fichier est censé être accessible uniquement aux scripts et aux classes qui le nécessite.

    Pas d'accès direct par l'utilisateur de prévu.

    Dans ce cas on peu très bien bloquer l'accès publique direct avec une règle de réécriture.

    Quel est le nom du fichier php en question ?
    Actuellement si tu accède en direct au fichier en question tu vois le code en clair ? (!)
    Apprendre à apprendre........
    www.octeam.fr
    Pas de support par MP

    Commentaire


    • #3
      Salut Sirius, et merci,

      Si j'accède directement au fichier : http://www.nomdusite.fr/amfphp/servi...mduservice.php
      j'ai une page blanche.

      Il n'y a pas d'index.html dans le dossier services.

      Par contre il y a un .htaccess.txt dans le dossier amfphp, si je le renome en .htaccess, alors mon flash n'arrive plus à se connecter au service (et ne marche plus) et quand j'accès directement au fichier j'ai :

      ERREUR SSI
      Erreur SSI dans votre fichier
      SSI instruction error in your file.

      Le .htaccess contient les lignes suivantes :
      php_flag display_errors on
      php_flag display_startup_errors on
      php_value error_reporting 2047

      Comment peut on bloquer l'accès publique direct mais pas celui de l'appli flash ?
      Thx

      Commentaire


      • #4
        Hello,

        Peut être qu'un fichier "crossdomain.xml" pourrait résoudre le problème ?

        Code:
        <?xml version="1.0"?>
        <!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
        <cross-domain-policy>
        <site-control permitted-cross-domain-policies="all" />
           <allow-access-from domain="*" secure="false"/>
           <allow-http-request-headers-from domain="*" headers="*"  secure="false" />
        </cross-domain-policy>
        Là, il est complètement ouvert, donc non sécurisé...
        Enjoy J!

        Commentaire


        • #5
          hum...
          Je connaissais pas le crossdomain.xml mais d'après google, c'est pas ce qu'il me faut...

          Moi je cherche à rendre inaccessible les logins de ma base de donnée qui sont dans un sous dossier de amfphp.

          Le flash arrive sans problème à exécuter le service amphp, donc pas besoin de crossdomain.xml apparemment.

          J'ai le .htaccess de joomla à la racine du site, et un .htacces spécifique (désactivé = .htaccess.txt) dans le dossier amfphp.
          Tout marche quand il y a que le .htaccess de joomla, mais pas quand j'active le .htaccess d'amfphp.

          .htaccess d'amfphp :
          php_flag display_errors on
          php_flag display_startup_errors on
          php_value error_reporting 2047

          Voici mes questions :
          Quelle la méthode classique pour se connecter à une base de donnée en protégeant ses logins ?
          Comment faire pour protéger les miens ? Il suffit d'activer le .htaccess d'amfphp ? Comment faire alors pour que mon flash soit autorisé à accéder au service ?
          Merci !

          Commentaire


          • #6
            Ce que je ne comprend pas, c'est qu'en accès direct ton fichier php te retourne une page blanche, alors les logins ne seront pas visible de toutes façon.

            Donc si l'appli flash fonctionne bien je ne vois pas ou est le soucis...

            Ou alors un détail du contexte m'échappe...

            Pour proteger le fameux fichier, dans ce cas essai ça dans le htaccess du root:

            Code:
            # stopper acces a un fichier
            <Files le_nom_du_fichier.ext>
             Order allow,deny
             Deny from all
             Satisfy All
            </Files>
            Bien sûr remplace le_nom_du_fichier.ext par ce qu'il faut.

            Test et dit moi si le script flash est perturbé ou pas.

            En ce qui concerne le htaccess d'amfphp

            Code:
            php_flag display_errors on
            php_flag display_startup_errors on
            php_value error_reporting 2047
            Ce sont juste des flags pour activer l'affichage de rapport d'erreurs php, pas très utile pour le coup.
            Dernière édition par Sirius à 28/07/2009, 17h41
            Apprendre à apprendre........
            www.octeam.fr
            Pas de support par MP

            Commentaire


            • #7
              ton fichier php te retourne une page blanche, alors les logins ne seront pas visible de toutes façon.
              Justement, je sais pas du tout si les bon pirates sont capable de les récupérer !!
              Je veux simplement les en empêcher.

              Mais si ça pose pas de problème au niveau sécurité, tant mieux !

              Sinon c'est étonnant que le flash ne marche plus avec les flags pour activer l'affichage de rapport d'erreurs php !

              Est-ce que je peux écrire ton script ci-dessous dans le htaccess root mais autoriser uniquement mon fichier flash ? :

              Code:
              # stopper acces a un fichier
              <Files le_nom_du_fichier.ext>
               Order allow,deny
               Deny from all
               Satisfy All
              </Files>
              J'ai essayé le script, tout marche sans problème, je sais pas si je dois mettre l'extension du fichier ou pas.
              Quand j'essaie un accès directe au fichier j'ai toujours une page blanche.

              Commentaire


              • #8
                oui mets l'extension aussi
                En accès direct maintenant tu devrait avoir une Error 403
                Apprendre à apprendre........
                www.octeam.fr
                Pas de support par MP

                Commentaire


                • #9
                  non j'ai toujours la page blanche.
                  J'ai mis ton code à la suite du .htaccess de base de joomla. Ce .htaccess est dans le dossier racine de mon ftp alors que mon site est dans un dossier "Classique" situé à la racine du ftp.

                  J'ai un autre problème curieux :
                  Quand j'utilise mon site avec sh404REF et le .htaccess à la racine du ftp j'ai pas de problème tout fonctionne à peu près correctement, par contre dès que je désactive sh404SEF j'ai des erreurs SSI sur chaque pages : SSI instruction error in your file. !!!!
                  Que je renome le .htaccess en .htaccess.txt ou non, je peux accéder uniquement à ma page d'accueil !
                  Dernière édition par arthur.sw à 28/07/2009, 18h44

                  Commentaire


                  • #10
                    Quelqu'un sais pourquoi j'ai des erreurs SSI si j'utilise pas sh404SEF ???

                    Commentaire


                    • #11
                      Envoyé par arthur.sw Voir le message
                      Salut,

                      J'ai développé un site joomla/virtuemart et un site flash qui lit la base de donnée du site joomla à l'aide de amfphp.
                      Le problème c'est que j'ai un fichier php éxecuté par l'application flash qui contient explicitement le nom de la base, le nom d'utilisateur et le mot de passe :

                      Code:
                      	public function __construct()
                      	{
                      	   $this->dbh = mysql_connect ("localhost", "Utilisateur", "MotDePasse") or die ('I cannot connect to the database because: ' . mysql_error());
                      		mysql_select_db ("NomDeBase");
                      	}
                      	
                      	function getProducts()
                      	{
                      		return mysql_query(sprintf("SELECT jos_vm_product.product_s_desc, jos_vm_product.product_full_image, jos_vm_product.product_name, jos_vm_product_price.product_price, jos_vm_product.product_sku jos_vm_product.product_publish FROM jos_vm_product, jos_vm_product_price WHERE jos_vm_product.product_id = jos_vm_product_price.product_id"));
                      	}
                      Je suppose que c'est pas top au niveau sécurité, mais je sais pas comment faire...

                      J'ai un dossier amfphp qui contient le framework et les services (le code ci dessus) à la racine de mon site et je sais pas s'il faudrait sécuriser quoi que se soit ?

                      Je comprends le php mais j'en ai jamais fais..

                      Merci !
                      Arthur
                      Bonjour,

                      j'ai pas trop le temps pour l'instant mais je pense que j'ai une solution pour "cacher" l'acces à le bdd dans le code php.

                      Si je ne rentre pas trop tard ce soir, je te confirme tout celà.

                      A+

                      Yquem

                      Commentaire


                      • #12
                        Merci, j'attends avec impatience

                        Commentaire


                        • #13
                          Bonjour,


                          solution que je te propose mais je ne suis pas expert en php...

                          - faire une page php avec tes données de connections que tu nomeras par exemple "connection"

                          - dans ta page en flash, tu insere :
                          <?php
                          include("connection.php");
                          ?>

                          De cette manière, on ne voit pas le contenu de "connection.php" dans ta page en flash...

                          Si je me trompe, il y a peut etre des experts php sur le forum qui pourraient confirmer...

                          A+

                          Yquem

                          Commentaire


                          • #14
                            oké, merci beaucoup !!

                            Commentaire

                            Annonce

                            Réduire
                            1 sur 2 < >

                            C'est [Réglé] et on n'en parle plus ?

                            A quoi ça sert ?
                            La mention [Réglé] permet aux visiteurs d'identifier rapidement les messages qui ont trouvé une solution.

                            Merci donc d'utiliser cette fonctionnalité afin de faciliter la navigation et la recherche d'informations de tous sur le forum.

                            Si vous deviez oublier de porter cette mention, nous nous permettrons de le faire à votre place... mais seulement une fois
                            Comment ajouter la mention [Réglé] à votre discussion ?
                            1 - Aller sur votre discussion et éditer votre premier message :


                            2 - Cliquer sur la liste déroulante Préfixe.

                            3 - Choisir le préfixe [Réglé].


                            4 - Et voilà… votre discussion est désormais identifiée comme réglée.

                            2 sur 2 < >

                            Assistance au forum - Outil de publication d'infos de votre site

                            Compatibilité: PHP 4.1,PHP4, 5, 6DEV MySQL 3.2 - 5.5 MySQLi from 4.1 ( @ >=PHP 4.4.9)

                            Support Version de Joomla! : | J!3.0 | J!2.5.xx | J!1.7.xx | J!1.6.xx | J1.5.xx | J!1.0.xx |

                            Version française (FR) D'autres versions sont disponibles depuis la version originale de FPA

                            UTILISER À VOS PROPRES RISQUES :
                            L'exactitude et l'exhaustivité de ce script ainsi que la documentation ne sont pas garanties et aucune responsabilité ne sera acceptée pour tout dommage, questions ou confusion provoquée par l'utilisation de ce script.

                            Problèmes connus :
                            FPA n'est actuellement pas compatible avec des sites Joomla qui ont eu leur fichier configuration.php déplacé en dehors du répertoire public_html.

                            Installation :

                            1. Téléchargez l'archive souhaitée : http://afuj.github.io/FPA/

                            Archive zip : https://github.com/AFUJ/FPA/zipball/master

                            2. Décompressez le fichier de package téléchargé sur votre propre ordinateur (à l'aide de WinZip ou d'un outil de décompression natif).

                            3. Lisez le fichier LISEZMOI inclus pour toutes les notes de versions spécifiques.

                            4. LIRE le fichier de documentation inclus pour obtenir des instructions d'utilisation détaillées.

                            5. Téléchargez le script fpa-fr.php à la racine de votre site Joomla!. C'est l'endroit que vous avez installé Joomla et ce n'est pas la racine principale de votre serveur. Voir les exemples ci-dessous.

                            6. Exécutez le script via votre navigateur en tapant: http:// www. votresite .com/ fpa-fr.php
                            et remplacer www. votresite .com par votre nom de domaine


                            Exemples:
                            Joomla! est installé dans votre répertoire web et vous avez installé la version française du fichier FPA:
                            Télécharger le script fpa-fr.php dans: /public_html/
                            Pour executer le script: http://www..com/fpa-fr.php

                            Joomla! est installé dans un sous-répertoire nommé "cms" et vous avez installé la version française du fichier FPA:
                            Télécharger le script fpa-fr.php dans: /public_html/cms/
                            Pour executer le script: http://www..com/cms/fpa-fr.php

                            En raison de la nature très sensible de l'information affichée par le script FPA, il doit être retiré immédiatement du serveur après son utilisation.

                            Pour supprimer le script de votre site, utilisez le lien de script de suppression fourni en haut de la page du script. Si le lien de suppression échoue pour supprimer le script, utilisez votre programme FTP pour le supprimer manuellement ou changer le nom une fois que le script a généré les données du site et le message publié sur le forum. Si le script est toujours présent sur le site, il peut être utilisé pour recueillir suffisamment d'informations pour pirater votre site. Le retrait du script empêche des étrangers de l'utiliser pour jeter un oeil à la façon dont votre site est structuré et de détecter les défauts qui peuvent être utilisé à vos dépends.
                            Voir plus
                            Voir moins
                            Travaille ...
                            X