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

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