Publicado em 9 de setembro de 2016  
Em ,  


Vamos começar pelo básico nessa nova empreitada, o arquivo wp-config. Velho conhecido para quem já está familiarizado com o WordPress, mas que muitas vezes ainda encontro-o com algumas brechas de segurança.

Configuração

Banco de Dados

Há duas configurações importantes para tornar sua aplicação mais segura:

  1. A constante DB_PASSWORD, que define a senha do banco de dados.
  2. A variável $table_prefix, que define o prefixo utilizado no nome das tabelas.

Creio que não preciso dizer a importância de utilizar senhas fortes, principalmente em bancos de dados, certo?

Então me limitarei a variável $table_prefix. Por padrão o WordPress utiliza o prefixo “wp_” e isso é de conhecimento público, o que torna sua aplicação extremamente vulnerável a ataques de SQL Injection. Por isso é importante personalizar o prefixo utilizado no nome de suas tabelas.

Eu aconselho você utilizar geradores de strings para defirnir o prefixo de suas tabelas (como o Random.org, por exemplo), apenas lembre-se que nomes de tabelas devem conter apenas letras e números:

$table_prefix = 'p73cfxi9mi6qzde_';

Chaves de Segurança

Essas chaves são utilizadas para criptografar informações sensíveis dos usuários, para personaliza-las basta acessar o Gerador de Chaves disponibilizado pelo WordPress e copia-las para o seu wp-config.

define('AUTH_KEY',         'Cvn/|+Hf|$rW/wp6ffw(Hh|^+.UW+j>c^}$DAg<iG33{jn|yp0E U:<][W$*,{>l');
define('SECURE_AUTH_KEY',  '[YDmr^10N6AxbqP@ZP|O,HsTNrraS.!t8O4i!]$(8sK`WtW0`G430^99=Gl+BG,+');
define('LOGGED_IN_KEY',    ')]S^BF*&O3Y=y=zu=QW-IV1gS/$nUMohC/-o(xi i6r8xAh0cd1ABFA|fo c?S[ ');
define('NONCE_KEY',        '}30gG{{(-H+6t2ly:K9,wE:~8oNSKGdY3.XTq:Q<9hen:Rcgb_eQj-gFiA[UVFP;');
define('AUTH_SALT',        'AnnAgjX@d-NvYC8z`Aa$pj;|Rt>]HSgStE{PwFd>5|(pCToIQ{}fJ~xE.)B+8[@P');
define('SECURE_AUTH_SALT', '%^^2C67,lPu+m?+xdXE/MU)95]{g[UWym|,,@G.]8!q.zQIPTFM5e&>GkdN+I(J|');
define('LOGGED_IN_SALT',   'pLF<YjD$P+{]|k TiT$C@b%=T<of]K0|Sz$+6M([O2OY-k)7/j4NA6z^<&71hwv/');
define('NONCE_SALT',       'Zz_s(=#9cJ`mDb$VwnITf0gbX,d#LhTQPx(~|Gh# yoMyr!}@Ke=~Ke{Z^ (hH}P');

Gerais

Para finalizar seguem duas configurações adicionais:

  1. A constante DISALLOW_FILE_EDIT, que define se os arquivos podem ou não serem editados através do painel administrativo. Por padrão essa opção vem habilitada.
  2. A constante DISALLOW_FILE_MODS, que define se plugins e temas podem ou não serem instalados através do painel administrativo. Por padrão essa opção vem habilitada.

A constante DISALLOW_FILE_MODS também define se os arquivos podem ou não serem editados. Portanto você só precisa configurar uma delas, por exemplo:

define( 'DISALLOW_FILE_MODS', false );

Importante

Se você em algum momento habilitou o modo debug através do arquivo de configuração, não esqueça de desabilitar essa opção antes de coloca-lo no servidor.

define( 'WP_DEBUG', false );

Observação

Caso você não esteja familiarizado com a ferramenta, o arquivo wp-config não existe inicialmente. No lugar dele você encontrará o arquivo wp-config-sample, basta renomea-lo.