2011-08-20 12 views
6

Soy un desarrollador de iPhone, y acabo de comenzar con PHP & mysql (crear sitios web para terceros y servicios web para mis aplicaciones).mysql connect - ¿el nombre de usuario/contraseña debe estar codificado?

Cuando codifiqué mi nombre de usuario y contraseña en un archivo PHP para conectarme a la base de datos, me sentí un poco raro. Ejemplo:

$con = mysql_connect('localhost:8888','root','password'); 

Me resulta un poco incómodo si alguna vez tengo que mostrar el código a nadie.

  • ¿Es esto seguro o una buena práctica?
  • ¿Hay alguna otra manera en que debería estar conectando a la base de datos?

Estaría muy agradecido por cualquier consejo relacionado con este tema.

+0

posible duplicado de [¿Cómo almacenar de forma segura una contraseña dentro del código PHP?] (Http://stackoverflow.com/questions/1432545/how-to-safely-store-a-password-inside-php-code) –

+0

@Pekka ligeramente diferente –

+0

y luego otro: [¿Cómo proteger contraseñas de bases de datos en PHP?] (Http://stackoverflow.com/q/97984) ... la conclusión es que estás en el camino correcto con tu sospecha - es mejor almacenar los datos en un archivo de inclusión separado, idealmente fuera de la raíz web. –

Respuesta

5

Para los scripts que se redistribuirán, sería mejor agruparlos y tenerlos como constantes o variables.

config.php

<?PHP 
define('DBHOST', 'localhost'); 
define('DBPORT', '8080'); 
define('DBNAME', 'my_db_name'); 
define('DBUSER', 'root'); 
define('DBPASS', 'password'); 

db.php

<PHP 
include('config.php'); 
$con = mysql_connect(DBHOST.':'. DBPORT,DBUSER,DBPASS); 
mysql_select_db(DBNAME, $con); 

Hacer esto hará que sea más fácil para alguien para hacer cambios en el futuro en lugar de tener que buscar a través de código para encontrar donde las conexiones están hechos etc.

Para una seguridad ligeramente mejor, el script config.php podría colocarse fuera de la raíz del documento para que no se pueda invocar directamente.

+0

lo pondría en una carpeta que es establecido para no permitir en robots.txt ser aconsejable? –

+0

@Alex Coplan: no permitir en robots.txt? ¡ese archivo debería estar completamente fuera del alcance del acceso web! – Dani

+0

@ Dani, ¿dónde lo guardarías? - Lo siento, soy muy nuevo en el desarrollo web –

2

Nunca codifico la información de inicio de sesión en el código PHP. Siempre lo pongo en un archivo separado que se incluye en el archivo de código PHP. De esta forma, nunca tendrá que mostrar los datos de inicio de sesión a nadie. Y hace que sea un poco más difícil acceder al archivo si alguien intenta falsificar el servidor web.

Cuestiones relacionadas