Eu não gostaria de que o usuário possa digitar o código do produto na URL e acessar um outro cadastro. Seria possível cripografar esses parametros para evitar que o usuário modifique os parametros da URL?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Eu não gostaria de que o usuário possa digitar o código do produto na URL e acessar um outro cadastro. Seria possível cripografar esses parametros para evitar que o usuário modifique os parametros da URL?
Olá Matheus!
Não sou especialista no assunto mas estou disponível para te ajudar.
Então, deve ser possível, trará um esforço grande mas é acho que é possível.
Porém, eu não te recomendaria fazer isso.
Não teria problema em o usuário acessar o produto dessa forma, ainda mais quando trabalhamos com serviços REST onde o cliente precisa especificar o código do produto. Se você criptografa esse código não será legal para os usuarios da sua API, seu código irá ficar confuso.
Geralmente usamos criptografia para dados sigilosos, mas o seu produto não é sigiloso então ele pode ser exibido.
E por mais que você criptografe, a url sempre será aquela mesma estática, então perde o sentido pois se o usuario copiar essa url e colar em outro navegador ele terá acesso novamente ao produto. Não fez diferença criptografar percebe?
Pra evitar isso você poderia também tentar criar URL's dinamicas, mas é outra coisa que eu não recomendo nem um pouco pois imagina a seguinte situação:
1 - Um usuario achou um produto no seu site; 2 - Ele compartilha com alguém que tenha interesse; 3 - Esse alguém clica no link que ele mandou e cai num 404 pq a URL não é mais a mesma; 4 - Ambos desistem de comprar no seu site;
Observe que algumas coisas que citei aqui nem sei se são possíveis de implementar mas gostaria que você visse o problema que pode causar.
Resumão: Não há problema em o usuario ter acesso a url do produto. É muito importante que ele tenha esse acesso na verdade. Principalmente para poder compartilhar caso queira e para clientes REST que podem ser desde pessoas até mesmo outros softwares que se alimentam da sua API.
Enfim, é isso :D
Espero ter ajudado!
Bons estudos! ^^
Olá Matheus!
Sua dúvida foi sanada?
Caso sim, peço para que feche o tópico escolhendo a solução por favor!
Isso ajuda os outros alunos com a mesma dúvida a acharem a resposta mais facilmente!
Desde já, muito obrigado! ^^