Atualizei meu WordPress para 4.7.1
e, depois disso, tentei enumerar os usuários por meio da API REST, que deveria ser corrigida, mas consegui recuperar os usuários.
https://mywebsite.com/wp-json/wp/v2/users
Saída:
[{"id":1,"name":"admin","url":"","description":"","link":"https:\/\/mywebsite\/author\/admin\/","slug":"admin","avatar_urls":{"24": ...
Registro de alterações da versão mais recente:
A API REST expôs dados do usuário para todos os usuários que criaram uma postagem de um tipo de publicação pública. O WordPress 4.7.1 limita isso apenas aos tipos de postagem que especificaram que eles devem ser mostrados na API REST. Relatado por Krogsgard e Chris Jean.
Depois de instalar o plugin Disable REST API
, parece que tudo está funcionando bem, mas eu não gosto de usá-lo em todos os plugins.
A saída após o uso do plugin é:
{"code":"rest_cannot_access","message":"Only authenticated users can access the REST API.","data":{"status":401}}
Como posso corrigir esse problema sem usar o plug-in ou por que, mesmo após a atualização, ainda existe?
EDIT 30.9.2017
Percebi que há um conflito entre o contact 7
plug-in Disable REST API
e isso gera um 401 unauthorized
erro.
Quando você tenta enviar uma mensagem através do contact 7
formulário, ele faz uma solicitação
wp-json/contact-form-7/v1/contact-forms/258/feedback
e desativar isso não é uma boa ideia.
Respostas:
Use esse trecho de código para ocultar a lista de usuários e fornecer 404 como resultado, enquanto as demais chamadas da API continuam em execução como estavam.
Você pode consultar o link this no repositório gitHub do WP_REST_API para obter mais detalhes sobre o mesmo.
::ATUALIZAR::
Para remover todos os pontos de extremidade da API REST padrão, você deve adicionar o seguinte código:
<?php remove_action('rest_api_init', 'create_initial_rest_routes', 99); ?>
fonte
functions.php
do seu tema.Remova o link da API do cabeçalho HTML, se desejar.
Em seguida, exija autenticação para todas as solicitações.
Isso deixará você com a mensagem desejada.
Agora, para interromper a enumeração, você pode usar algo assim.
Confira o post completo para obter mais técnicas.
fonte
Você pode corrigi-lo através da configuração do nginx / apache:
fonte
Para poder corrigir isso, primeiro você precisa saber a origem do problema.
Por favor, deixe-me saber se isso levou você na direção certa.
Uma maneira suja de resolver isso é bloquear o URL abaixo nos seus .htacces. https://mywebsite.com/wp-json/wp/v2/users
fonte