Aqui estão alguns códigos personalizados que você pode adicionar ao arquivo functions.php do seu tema WordPress para aumentar a segurança do seu site sem o uso de plugins:
// Desativar a edição de arquivos no painel de administração
define('DISALLOW_FILE_EDIT', true);
// Remover a versão do WordPress do cabeçalho e feeds
function remove_wp_version() {
return '';
}
add_filter('the_generator', 'remove_wp_version');
// Desativar o XML-RPC
add_filter('xmlrpc_enabled', '__return_false');
// Proteger o arquivo wp-config.php
function protect_wp_config() {
if ( ! empty( $_SERVER['SCRIPT_FILENAME'] ) && basename( $_SERVER['SCRIPT_FILENAME'] ) == 'wp-config.php' ) {
die( 'Você não tem permissão para acessar este arquivo.' );
}
}
add_action( 'plugins_loaded', 'protect_wp_config' );
// Desativar a enumeração de usuários
function disable_user_enumeration( $redirect, $request ) {
if ( preg_match( '/\?author=([0-9]*)(\/*)/i', $request ) ) {
wp_redirect( home_url(), 301 );
exit;
}
}
add_filter( 'redirect_canonical', 'disable_user_enumeration', 10, 2 );
// Remover informações de erro de login
function remove_login_errors() {
return 'Credenciais incorretas. Por favor, tente novamente.';
}
add_filter( 'login_errors', 'remove_login_errors' );
// Desativar rotas /users REST
add_filter('rest_endpoints', function( $endpoints ) {
if ( isset( $endpoints['/wp/v2/users'] ) ) {
unset( $endpoints['/wp/v2/users'] );
}
if ( isset( $endpoints['/wp/v2/users/(?P<id>[\d]+)'] ) ) {
unset( $endpoints['/wp/v2/users/(?P<id>[\d]+)'] );
}
return $endpoints;
});