Bloquear nova solicitação por expiração de data

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” :grinning:

Pronto, marcado @victorcastro ! :wink: