ID USUARIO ASP.NET
Estou criando um pequeno sistema em asp.net eu tenho algumas dúvidas.
1 - Tenho uma listagem de clientes, e na frente um botão onde eu abro o cadastro deste cliente, no botão tenho uma tag que é o ID do cliente no banco de dados, o que posso fazer para que esse id não fique visivel no HTML da página? ou até mesmo que a pessoa não o altere.
2 - Tenho uma tela de cadastro de alteração do cliente, e eu preciso saber o id do cliente para alterar-ló no banco de dados, para fazer o UPDATE, o que posso fazer que não permita o usuário alterar esse id desse cliente? Assim quero evitar que o mesmo altere o ID direto no HTML e salve por cima de outro cadastro?
Obrigado.
Modulo, metodo, id e pagina. Veja que o id se refere à esse tópico que estamos, se você colocar um outro id lá, você vai ser levado à esse outro tópico. Quanto à isso é impossÃvel evitar que o usuário faça, pois trata-se de uma requisição válida e deve ser atendida normalmente. Se você quer impedir que usuários tenham acesso à certos registros, então você precisa de um sistema de login e permissões integrado e não baseado em Session, cookie ou URL. Sugiro que você leia artigos sore os temas que falei, HTML Injection e URL Injection, eles vão te mostrar porque programação Web é um paradigma COMPLETAMENTE diferente de programação para aplicações desktop.
Citação::
O que você está se referindo, se chama HTML Injection ou URL Injection. São ambos técnicas para hackear muito comuns. Para evitar que isso seja explorado, o uso de boas técnicas de programação é UMA das chaves, além da correta estruturação da sua aplicação. Como você viu, o id do objeto à ser modificado é essencial, você precisa dele para saber o que vai ser alterado no banco. O usuário(um espertinho, na verdade) pode tranquilamente usar HTML Injection para alterar esse ID. Caso o ID faça parte da URL(como parâmetro) para visualizar o objeto, não há muito que se possa fazer. Veja a URL nessa página mesmo, temos lá vários parâmetros:
Modulo, metodo, id e pagina. Veja que o id se refere à esse tópico que estamos, se você colocar um outro id lá, você vai ser levado à esse outro tópico. Quanto à isso é impossÃvel evitar que o usuário faça, pois trata-se de uma requisição válida e deve ser atendida normalmente. Se você quer impedir que usuários tenham acesso à certos registros, então você precisa de um sistema de login e permissões integrado e não baseado em Session, cookie ou URL. Sugiro que você leia artigos sore os temas que falei, HTML Injection e URL Injection, eles vão te mostrar porque programação Web é um paradigma COMPLETAMENTE diferente de programação para aplicações desktop.
Então andei lendo sobre HTML INJECTION e e SQL INJECTION, mas ainda não consegui nada que pudesse me ajudar. Alguma sugestão de técnica a ser usada?
seria uma criptografa e descriptografa as chaves uma um MD5/SHA ou qualquer outra tecnica de validação.