Métodos URL Saudações, Qual a precaução para que o usuário não altere a key e veja outras informações que não são deles. exemplo class=SystemProgramForm&method=onEdit&key=1&id=1...
JC
Métodos URL  
Saudações,

Qual a precaução para que o usuário não altere a key e veja outras informações que não são deles.
exemplo class=SystemProgramForm&method=onEdit&key=1&id=1

Curso Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


Dominando o Adianti Framework Quero me inscrever agora!

Comentários (5)


NR

Jorge, sempre devemos fazer as validações no lado servidor. No seu caso, na função onEdit você teria que verificar se o id informado corresponde ao usuário logado. Mas esse é só um caso, hoje com as ferramentas dos navegadores os usuários podem modificar inclusive o valor de um campo hidden ou readonly. Nunca confie no usuário.

Outra possibilidade seria criar uma trait e usar os hook methods(onBeforeLoad,onBeforeStore...) para fazer essa validação.
JC

Nataniel, obrigado pelas recomendações.
JC

Nataniel, por favor um breve exemplo da sua citação 'se o id informado corresponde ao usuário logado'.
NR

Jorge, depende um pouco de como você está vinculando o registro ao usuário. Por exemplo, se tiver uma coluna com o id do usuário:
 
  1. <?php
  2. $object = new SeuModel($param['key']);
  3. if ($object->usuario_id != TSession::getValue('userid'))
  4. {
  5. throw new Exception('Permissão negada');
  6. }
  7. ?>
JC

Nataniel, Show!