Boa tarde a todos.
Hoje eu tenho um processo que quando chega em determinada data (data limite) não devem ser mais permitidas novas solicitações.
Eu pego a data atual via javascript e comparo com a data que eu tenho como data limite para realizar este bloqueio.
Porém, percebi que quando pego a data atual, ele pega a data da máquina do solicitante, ou seja, algo muito frágil, pois se ele perceber isso (o que não é difícil) ele muda a data da sua máquina para uma data menor que a data limite e realiza a inscrição.
Já fiz este teste e consegui fazer uma inscrição indevida.
Tem como eu, ao invés de pegar a data da máquina do solicitante, comparar com a data do servidor?
Obrigado.
1 curtida
Boa noite @Cassius ,
Você pode consumir uma API pública que te retorna o horário exato em JSON, essa é um exemplo: World Time API - America/Sao_Paulo
Segue exemplo abaixo do retorno:
Espero ter ajudado!
Cassius, basta efetuar a validação em um evento do backend: eventos de processo ou de formulário. Você pode efetuar a mesma validação em um displayFields e já disparar mensagem para o usuário que não é possível iniciar a solicitação. Qualquer outro evento, desde que seja do backend, ao utitilizar
var dataAtual = new Date();
retornará a data atual do servidor! Nos avisa se deu certo, hein?! Boa sorte!
2 curtidas
Obrigado @vinny.silveira e @alefvinicius .
Achei interessante as duas opções. Vou dar uma pesquisada em ambas, pois como dizia meu avô que era italiano “impara l’arte e mettila da parte”, ou seja, aprende e guarda que uma hora você vai precisar do que aprendeu.
Novamente obrigado.
2 curtidas
Bacana, @Cassius. Se uma das respostas resolveu o seu problema, não esquece de marcar a mesma como “RESOLVIDO” 
Pronto, marcado @victorcastro ! 