Pues es "seguro" en la medida que tu servidor HTTP donde corre PHP sea seguro (o si ejecutas PHP bajo CLI/PHP-GTK tengas protegido el acceso a ese directorio donde se encuentran tus scripts.
En condicones "normales" ejecutando PHP en entorno Web (bajo servidor HTTP) .. sólo esa "contraseña" de tu BD la verá si quiere tu administrador de tu servicio de hosting o servidor en general. A no ser que hagas algo tipo:
config.inc
Código PHP:
<?
$usuario="nose";
$password="nose";
?>
script.php
Código PHP:
<?
include("config.inc");
$conex = mysql_connect("localhost", $usuario, $password);
// etc
Al usar como "extensión" .inc (o lo que sea que no sea .php o en general interpretada por PHP) .. si yo llamo a ese config.inc por el URL:
http://www.nose.nose/config.inc .. se me entregará para descargar .. así que "veré" fácilmente esos datos ... En su defecto usa: config.inc.php .. para que sea interpretada ... como no hay salida . .no veremos nada. (haz la prueba).
Si realmente te preocupa que tu adminstrador pueda ver esos datos .. puedes "encriptar" todo tu código con herramientas como
Zend Encoder
www.zend.com
En otras ocasiones .. también puedes decir a tu configuración de PHP que conecte Mysql directamente con cierto usuario/contraseña al usar una llamada a mysql_connect() (sin parámetros .. así lo hace por ejemplo Lycos o lo hacía) .. Eso se ajusta en php.ini (?) o en my.ini (o my.conf) de Mysql ... Así .. aunque vea tus scripts .. no veré la contraseña .. Pero igualmente ese "adminstrador" lo va a ver de alguna forma (viendo la configuración de PHP) .. En definitiva casi todo este tema se basa en la "confianza" que tengas con tu administrador de tus Base de datos y sobre todo a que "base de datos" te conectas .. Lo normal será que uses las que tu própio servicio de hosting te proporciona .. en otros casos podría ser otra BD remota (ejemplo .. la de tu empresa que proporciona los datos .. pero es tu servicio de hosting el que te proporciona el acceso a las páginas corporativas en general).. Ahí si que "correría" peligro esa "contraseña". De todas formas, en esos casos lo que se suele hacer es crear usuarios de tu BD con permisos restringidos para algunas taréas que tu aplicación no hace por defecto .. cosas como "borrar tablas o alterarlas, reiniciar el servidor .. etc .. etc". Tus asplicaciones comunes sólo hacen "INSERT, UPDATE y DELETE a lo sumo .. ".
Un saludo,