En nuestro host para wordpress existe el archivo wp-config.php donde se encuentra toda la informacion de nuestro blog. Al decir toda la informacion me refiero a las credenciales de usuarios con todo y contraseñas para conectarse a la base de datos.
Este archivo es muy sencible y puede ser utilizado por cualquier atacante para adueñarse por completo de nuestro blog y toda su informacion.
Proteger con .htaccess
Una forma sencilla de esconder o restringir el acceso a extraños (hackers, crackers) a nuestro archivo de configuracion es utilizando los poderes del htaccess. Dentro de este archivo agregamos
# proteccion de wpconfig.php <files wp-config.php> order allow,deny deny from all </files>
Con estas sencillas lineas, todo el acceso desde internet a la configuracion estara denegado.
Mover el archivo wp-config.php
Otra forma de proteger y denegar la lectura de nuestras configuraciones es moviendo el archivo wp-config.php afuera del area publica de nuestro blog. En otras palabras, si tenemos nuestro sitio en /home/usuario/blogger/ podemos crear el nuevo archivo en /home/usuario/ y asi nadie podra leerlo.
Crear el archivo dbconfig.php
Empezamos con crear un nuevo archivo conteniendo la informacion de conexion a la base de datos mysql:
<?php define('DB_NAME', 'your_db_name'); // El nobre de tu base de datos define('DB_USER', 'your_db_username'); // El usuario de MySQL define('DB_PASSWORD', 'your_db_pass'); // password define('DB_HOST', 'localhost'); // El servidor // You can have multiple installations in one database if you give each a unique prefix $table_prefix = 'yourdbprefix_'; // el prefijo de las tablas, casi siempre es wp_ ?>
Ahora, bien este archivo lo guardamos en el directorio superior al de nuestro sitio web, y modificamos el original, como veran a continuacion.
Editando un wp-config.php seguro
Ahora solo queda modificar nuestro archivo wp-config.php original y quitar toda la informacion de conexion, para luego tan solo incluir el path del archivo real dbconfig.php.
<?php include('/home/usuario/dbconfig.php'); // Change this to localize WordPress. A corresponding MO file for the // chosen language must be installed to wp-includes/languages. // For example, install de.mo to wp-includes/languages and set WPLANG to 'de' // to enable German language support. define ('WPLANG', ''); /* That's all, stop editing! Happy blogging. */ define('ABSPATH', dirname(__FILE__).'/'); require_once(ABSPATH.'wp-settings.php'); ?>
Como se daran cuenta el archivo ya no contiene ninguna informacion sensible, ya que todo esta en dbconfig.php fuera del alcance de extraños.
Hola cuando agrego # proteccion de wpconfig.php
el código que comentas, etc etc … también se bloqueará para mi yo mismo no podré tener acceso ???
Si le entras desde la consola o terminal si tendras acceso.