Re: [PHP-ES] Conexion a base de datos

From: Luis Martin-Santos ( luis .en. webalianza.com)
Date: Mon Mar 01 2004 - 10:54:34 CET


        Hombre, ocultar los datos de acceso a la bbdd no es cosa común. Segun
entiendo lo que quieres hacer es que los datos de configuración estén en un
fichero aparte, podrías hacer algo así:

Solución A)

        Puedes separar el codigo y la configuración de la siguiente manera

        OJO: Hecho a piñon, no se si funcionará out-of-the-box...

        ---- config.php ---
        <?php
        $db["host"] = "host.bbdd.com";
        $db["username"] = "usuario";
        $db["password"] = "contraseña";
        $db["database"] = "db";
        $db["con"] = NULL;

        ----------------------------

        y otro archivo tal que así:

        ----- bbdd.php ----
        <?php

        include ("config.php");

        function conectar()
        {
                global $db;

                $con = mysql_connect($db["host"], $db["username"] , $db["password"] ,
$db["database"]);
                if ($con)
                {
                        $db["con"] = $con;
                        return true;
                } else {
                        return false;
        }

        function query ($sql)
        {
                global $db;
                if (!$db["con"]) return false;
                $result = mysql_query ($sql,$db["con"]);
                if (mysql_error()) return -1;
                while ($row = mysql_fetch_array($result))
                {
                        if (mysql_error()) return -1;
                        $arr[] = $row;
                }
                if ($arr) { return $arr ; } else { return -1;}
        }
        
        --------------------------------------

        Y para usarlo:

        -------- prueba.php -------

        <?php

        include ("bbdd.php");
        conectar();
        $filas = query("SELECT * FROM tabla");
        print_r($filas);

        -------------------------------------

Solución B)

        Si lo que deseas realmente es que nadie (incluido quien tiene acceso a los
fuentes del programa) sepa el usuario y contraseña, lo tienes chungo, dado que
si tienen acceso al código pueden saber el usuario y contraseña. Tienes dos
soluciones:
                A) Encriptar usando crypt el usuario que se pase por get o post y compararlo
con una ristra encriptada en un archivo de configuración.

                B) "Forzar" los valores de usuario y contraseña en el php.ini.

Espero haber sido de ayuda :D

El Monday 01 March 2004 10:33, Emilio Perez escribió:
> Como puedo ocultar en el codigo de php los datos de acceso a la base de
> datos, es que queria hacer un buscador.
>
> Gracias
>
> _________________________________________________________________
> Protege tu correo del spam y los virus con MSN 8. Prueba gratis dos meses
> MSN 8. http://join.msn.com/?pgmarket=es-es&XAPID=199&DI=1055

-- 
PHP Spanish Localization Talk Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


This archive was generated by hypermail 2.1.7 : Fri May 14 2004 - 16:04:33 CEST