Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Dae galera, hoje estava fazendo uns testes com o Google Chrome, e alterei campos hidden de formulários com outros valores e esses valores se aplicam na hora de enviar o form. Que técnica vocês utilizam para evitar que dados sejam alterados, comprometendo os sistemas?
Por ex:
Busquei um chamado do usuário X com id 1 e ele pode interagir adicionando uma nova mensagem, e existe um campo hidden com o id do chamado, que vai ser usado pra orientar na hora de gravar no banco, se eu altero o id pra 2 com o inspetor de elementos, ele vai gravar o id 2 no banco, fazendo com que o chamado se misture à outro. Isso pode causar problemas em uma área onde usuários podem se cadastrar livremente.
Teria que fazer uma consulta antes de inserir verificando se o id enviado no post está vinculado ao email da sessão, por exemplo?
Se precisar alterar alguma info de HTML em realtime, uso javascript. PHP precisará fazer requisições no servidor.
Não sei qual a necessidade do seu sistema mas esse campo esta ai para cumprir 1 proposito.
logo é bom se certificar de que ele fará isso e apenas isso.
estou fazendo uma loja virtual e essa parte seria os chamados tipo um helpdesk com chamados e interações de cliente e admin
Não acho nada interessante passar um id de usuario por campo hidden, prefiro usar session.
não estou passando o id do usuário, é o id do chamado
essa pratica é comum sim e válida, agora é só fazer as verificações para caso um engraçadinho tente alterar.
Exemplo:
Verificar se existe.
Verificar se o chamado é do usuário que esta tentando acessar(para não ver chamado dos outros).
Verificar o tipo da variável (Tem que ser sempre inteiro)
Beleza, isso que eu precisava saber, se é usado dessa forma também. Ou se usavam alguma outra forma, função nativa, etc.
Obrigado pelos esclarecimentos pessoal.
vc não tem como controlar o navegador, o que é necessário fazer é tratar o POST para ter certeza de que aquele valor é válido para o sistema