Mover o ficheiro wp-config do WordPress é ou não uma medida de reforço da segurança de todo os sistema? Há quem diga que sim, há quem defenda que não faz diferença. Neste aspecto, como noutros, não há unanimidade.
Quem advoga a ideia argumenta que mover o ficheiro, que guarda informação essencial da instalação, como o nome da base de dados e os dados de acesso, é um passo mais para o proteger de olhares indiscretos e, acima de tudo, de malware e outros scripts que podem ser perigosos e visam obter acesso ao site.
Estes scripts automáticos vão, seguindo a lógica, procurar o ficheiro wp-config no sítio do costume, onde habitualmente fica após cada instalação. Se não o encontrarem e se só tiverem essa instrução acabam por nada fazer.
O WordPress vai, de forma automática, procurar o ficheiro num nível superior à localização da directoria onde se encontra instalado. Isto significa que se o WordPress estiver na raiz do servidor, podes mover o wp-config para o nível acima.
Mover o wp-config
Se optares por o mover para outro local tens de criar um segundo ficheiro wp-config, localizado na raiz, e apontando para o ‘verdadeiro’ wp-config:
define('ABSPATH', dirname(__FILE__) . '/');
require_once(ABSPATH . '../nomedolocal/to/wp-config.php');
Tem em conta que o wp-config.php apenas pode ser colocado UM nível acima da instalação do WordPress. Faz com que apenas tu e o servidor, claro, podem ler o ficheiro, o que significa atribuir permissões de 400 ou 440.
Outro dado a ter em consideração é a necessidade de ajustar o ficheiro a cada actualização do WordPress, portanto
Outra possibilidade é criar um novo ficheiro e nele inserir as entradas sensíveis do wp-config.
Cria um novo ficheiro config.php, que deve ser colocado num directório que não seja acessível por WWW. Por exemplo se o directório público do teu servidor for o public_html, então deixa este ficheiro no nível acima.
Abre o wp-config actual e move para o novo as linhas que têm os dados da ligação à base de dados, o prefixo da base de dados e as chaves de segurança do WordPress.
Abre o ficheiro com <?php e fecha com ?>.
Ficará desta forma
<?php
define('DB_NAME', 'nome');
/** O nome do utilizador de MySQL */
define(‘DB_USER’, ‘nome’);
/** A password do utilizador de MySQL */
define(‘DB_PASSWORD’, ‘password’);
/** O nome do serviddor de MySQL */
define(‘DB_HOST’, ‘localhost’);
* Chaves Únicas de Autenticação.
define(‘AUTH_KEY’, ‘chave’);
define(‘SECURE_AUTH_KEY’, ‘chave’);
define(‘LOGGED_IN_KEY’, ‘chave’);
define(‘NONCE_KEY’, ‘chave’);
define(‘AUTH_SALT’, ‘chave’);
define(‘SECURE_AUTH_SALT’, ‘chave’);
define(‘LOGGED_IN_SALT’, ‘chave’);
define(‘NONCE_SALT’, ‘chave’);
/**
* Prefixo das tabelas de WordPress.
*/
$table_prefix = ‘wp_’;
?>
Depois de remover estes dados do wp-config original, acrescenta esta linha logo depois do <?php:
include(‘/home/nomeutilizador/config.php’);
Assim, as duas primeiras linhas ficam desta forma:
<?php
include('/home/nomeutilizador/config.php');
Tem em conta que o caminho /home/nomeutilizador/ varia dependendo do servidor e do serviço de alojamento que tens.
Impedir acesso via .htaccess
Podes ainda editar o .htaccess, se o teu servidor o usar, para negar acesso ao wp-config. Para isso coloca as seguintes linhas no topo:
<files wp-config.php>
order allow,deny
deny from all
</files>
Desta forma, limita-se o acesso exterior ao ficheiro.
Protege o wp-config através do .htaccess
- Liga-te ao servidor onde está o teu website, por exemplo via FTP ou, de preferência, SFTP, para encriptar as comunicações.
- Faz o download do .htaccess que está na directoria onde se encontra a tua instalação WordPress.
- Usa um editor de texto (mas nunca o Word) para abrir o .htaccess.
- Copia os dados abaixo para o .htaccess de forma a negar acesso ao wp-config. Pode ser inserido no fim.
<files wp-config.php>
order allow,deny
deny from all
</files>
Volta a colocar o .htaccess para o mesmo local, substituindo aquele que lá está.