Segurança em Aplicação WEB

Pessoal, imaginem o seguinte cenário:

Uma aplicação web com uma tela de consulta que apresenta seus resultados em uma tabela.
Para editar um registro você clica em um link da tabela que uma tela de detalhe.

Uma prática comum neste caso é colocar um campo hidden com o id do registro sendo editado.

A questão é: como normalmente previnem que este id seja alterado pelo usuário?
Como fazem esta validação?

  • Nem sabia que tinha esse risco;
  • Sabem do risco mas também sabe que seus usuários não farão isso;
  • Sempre guardam o id na sessão do usuário;
  • Usam campos criptografados;

Queria saber qual é a solução mais comum para isto.