GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Esconder identificador no resquest

tenho uma função que mostra umas informações para ser impresso, só que no request o id da informação pode ser modificado e o usuario consegue acessar outros IDs.

Qual seria a melhor forma para esconder essa informação?
image

Função:

imprimirLaudo = function(idLaudo, nomeSistema){
	window.open(app_url_base + '/laudo/imprimirLaudo' + '?idLaudo=' + idLaudo + '&nomeSistema=' + nomeSistema, '_blank');
};

Existem algumas alternativas, mas antes de tudo, se um usuário consegue acessar uma informação que ele não deveria ter acesso você tem um problema de segurança na sua aplicação!

Fora isso, você poderia modelar para trabalhar as requests utilizando um UUID como identificador ao invés de um ID numérico sequencial, isso só no âmbito externo da aplicação!

Poderia utilizar um POST e passar os parâmetros no body da request ao invés de passar como query params, porém isso não invalida a questão de que ainda é possível outro usuário disparar uma request com outros valores e continuar acessando informações que não deveria!

Por último mas nada recomendável, seria você aplicar um base64 no ID e tratar o decode no backend da aplicação, mas, como já dito antes, o problema ainda permanece, isso não seria solução, somente uma ofuscação dos dados.

Se a impressão do laudo é feita através de algum ambiente onde o usuário precise está logado, vc deve validar se o usuário deve ver o laudo. Agora se for algo que não precise de autenticação vc pode seguir a ideia do @Jonathan_Medeiros e usar um UUID e, se necessário, pedir alguma outra informação pessoal do usuário para validar antes de abrir o laudo de fato.

//