Sem categoria

Como desativar a API REST do WordPress nos endpoints

Em uma pesquisa na web vários relatos abordam que a API REST do WordPress está fornecendo uma lista de nomes de usuário por padrão no terminal /wp-json/wp/v2/users. Isso não é uma vulnerabilidade, mas não acho que seja uma boa ideia dar aos bots uma maneira fácil de encontrar seu nome de usuário de administrador. Os robôs que tentam invadir seus sites usam o nome de usuário admin e tentam senhas diferentes com força bruta.

O recomendável é que você não deve usar admin como um nome de usuário na sua instalação do WordPress, exceto se estiver fazendo testes. Com o endpoint Rest, não seria um grande problema programar seu bot para verificar o nome de usuário do administrador no endpoint. Se você tiver uma boa senha e o WordPress atualizado, isso provavelmente não é problema, mas por que ajudar os invasores?

Como desativar o terminal do usuário

A maneira mais fácil de resolver isso é desabilitar o terminal do usuário - se você não precisar dele no seu aplicativo. Isso pode ser feito usando o filtro rest_endpoints no seu arquivo functions.php. O filtro a seguir desativará os pontos de extremidade do usuário. Você pode usar a mesma lógica para qualquer terminal que deseja fechar.

add_filter ('rest_endpoints', função ($ endpoints) {
if (isset ($ endpoints ['/ wp / v2 / users'])) {
não definido ($ endpoints ['/ wp / v2 / users']);
}
if (isset ($ endpoints ['/ wp / v2 / users / (? P <id> [\ d] +)'])) {
não definido ($ endpoints ['/ wp / v2 / users / (? P <id> [\ d] +)']);
}
retornar $ endpoints;
});

Como desativar a API REST do WordPress inteira

Se você não precisa da API Rest e deseja desativá-la por algum motivo, pode usar esse trecho em seu functions.php.

add_filter ('rest_enabled', '_return_false');
add_filter ('rest_jsonp_enabled', '_return_false');

O que usa a API REST?

Devido ao fato de existirem plugins, serviços e aplicativos que utilizam a API REST, talvez você não quaira desativar completamente. Aqui estão alguns exemplos de coisas que usam a API REST:

  • Widget do painel do Yoast SEO e Ryte.
  • Alguns widgets específicos do painel do WooCommerce.
  • O novo editor de blocos Gutenberg usa a API REST para se comunicar quando você faz edições de página e postagem.

Se você desativá-lo completamente, você receberá um erro: Falha na atualização!

Portanto, outra boa opção para desativar a API RESET do WordPress é instalar um plugin e selecionar os tipos de pontos de extremidades que deseja remover.

Desativar API RSET com o plugin Disable API RESET

Ver plugin

Basta instalar o plugin pelo seu painel administrativo do WordPress e configurar do seu jeito.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *