thiagorthomaz
(usa Ubuntu)
Enviado em 04/06/2012 - 09:11h
Alguém sabe como eu posso validar um hash base64?
O caso é seguinte:
Tenho uma aplicação em PHP rodando em mvc, não utilizo Framework faço tudo na "unha". No meio do desenvolvimento de deparei com um problema que imagino ser "clássico" e muitas pessoas devem se bater com isso no seu primeiro projeto, que é o seguinte: todas as chamadas que eu estava fazendo pelos métodos era por POST mas isso gerou uma grande falha de segurança pois em um formulário por exemplo, o usuário ficasse apertando F5 para recarregar a página era inserido um novo registro na base, sei que tem como arrumar isso, mas ai tem outro problema, quando eu clico em voltar no navegador aparece aquele tela pedindo a confirmação para reenviar os dados por POST da tela anterior e eu não quero isso.
Ai pesquisando uma possível solução achei uma por javascript, mas no momento não quero usar ele.
Focando no PHP eu mudei os métodos de navegação de POST para GET ai resolveu o problema, mas ai surgiu outro, as informações da sessão do usuário são passadas na URL, e são informações que não são interessantes para o usuário e quero esconder isso.
Para esconder essas informações eu usei o base64, assim o usuário só vê a hash. Mas ai mora outro problema. Na hash que o usuário vê exemplo base64_encode("teste") tem o resultado: VGVzdGU=, e se eu alterar para GVGzdGU (notem que inverti VGV por GVG), ela continuará sendo uma hash "válida" mas com um resultado alterado. Alguém tem uma ideia de como eu posso validar isso? Algum validador de CPF para base64.
Espero que tenham entendido minha dúvida e poção me ajudar.