590
Cuando se accede a este script mediante la Web, la pagina resultante es la misma
que la que produce simple
-
query. php. Sin embargo, aqui el script utiliza un
archivo de cabecera que contiene el script de conexion con la base de datos tal y como
se muestra a continuacion:
<?php
$host = `localhost'; $user =
`httpd'; $passwd = 'nolsecret';
$database name = 'www; $tabl.e
= `users';
$dbh = mysgl connect($host, $user, $passwd); mysgl select
db($database name, $dbh);
Eliminando este script de cada pagina quc lo utiliza, facilita la posibilidad de
cambiar el nombre del host, el nombre de usuario, la contrasena, el nornbre de la base de
datos y el nombre de la tabla. Si tiene 20 paginas utilizando la misma base de datos y la
misma tabla, puede actualizar la contrasena en el archivo header . inc y lo
tendra resuelto.
Asegurar archivos include PHP
Si utiliza archivos include, como se muestra en la ultima seccion, para
almacenar los datos que no quiere que vean usuarios, como son el nombre de usuario, la
contrasena y otra informacion, como el nombre del host de la base de datos, el nombre de
la base de datos y los nombres de ]as tablas, asegurese de que mantiene los archivos
include en un directorio seguro en el que los navegadores Web no puedan navegar. El
mejor sitio para situarlos es fuera del arbol de documentos del sitio Web. Si la raiz de
documentos es /www/mysite/htdocs, entonces tiene que crear un directorio llamado
/www/mysite/secrets/mysgl
y mantener alli los archivos
include.
Si tiene que crear los archivos include dentro de la raiz de documentos, desactive
el navegador Web utilizando la siguiente configuracion en
httpd . con f:
<Directory /path/to/include files> <Limit>
order deny, allow
deny from all
</Limit>
</Directory>
No olvide reemplazar
/path/to/include files
con la ruta del directorio real
de los archivos include. Si mantiene sus archivos include en todo