Gostaria de saber como tratar esse update por exemplo, pois se o usuário final pegar a requisição que é feita verificar que passamos um Id no momento do update, como podemos previnir que ele não passe um id indevido?
Gostaria de saber como tratar esse update por exemplo, pois se o usuário final pegar a requisição que é feita verificar que passamos um Id no momento do update, como podemos previnir que ele não passe um id indevido?
OII, Wesley! Tudo bem?
Obrigada por trazer esse ponto para o fórum, pois é uma preocupação super válida se tratando de segurança de APIs.
No caso de um update, assim como no exemplo de cadastro que foi apresentado, a solução mais comum é utilizar o padrão DTO (Data Transfer Object). Com ele, é possível definir quais campos podem ser alterados pelo usuário final, mantendo assim a segurança.
Nesse artigo disponibilizado abaixo, você pode entender melhor como funciona na prática a aplicação. Vai ser útil para aprofundar os seus conhecimentos.
Espero ter ajudado. Continue interagindo no fórum compartilhando suas dúvidas, sugestões e projetos.
Bons estudos, Wesley!
Olá, tudo bem e vc?
Eu entendi um pouco sobre o conceito do DTO. Mas minha dúvida em sí seria quanto ao ID. Por exemplo, o DTO serve para tratar os dados que podem ser alterados, porém para iniciar a alteração é necessário saber o id daquilo que vai ser alterado.
Por exemplo, digamos que tenhamos dois usuários, um com id 1 e o outro com id 2. Neste cenário se um atacante souber que o usuário de id 2 por exemplo é um admin e quiser alterar a senha dele através do número do id ele irá conseguir, pois ele sabe que passando o id correto ele irá conseguir mandar o body com as alterações desejadas.