Funções PHP que devem ser aplicadas sem uso de plugins para aumentar a segurança do WordPress

Picture of Ivon Filho

Ivon Filho

Procurando desenvolvedor freelancer para seu projeto?

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;
});
Rolar para cima