Prevenir usuário anônimo de formulário submeter muitas vezes em ASP.NET sem SqlMembershipProvider
-
16-09-2019 - |
Pergunta
Eu tenho um formulário simples que despeja respostas selecionadas para arquivo XML. Como prevenir usuário anônimo de enviar este formulário muitas vezes?
Eu não estou procurando totalmente à prova de balas solução, e eu tenho uma limitação que eu não posso usar o banco de dados e, portanto, não SqlMembershipProvider.
Será que algum bolinho verificar o trabalho? Como fazer isso certo?
Agradecemos antecipadamente.
Update:. Para ser mais preciso, eu não significa apenas alguns submeter acidental da forma, mas para evitar que usuário que visitou o local há uma semana de enviar este formulário novamente
Solução
Em suma, você não pode totalmente confiável. Se você não está preocupado com a prova de balas algo como você diz que poderia ou
a) Persistir um cookie na máquina do cliente e verificar a próxima vez alguém postar. Obviamente, o usuário pode excluir cookies para não brilhante. b) Você pode armazenar o endereço IP de onde foi apresentado a partir de. Problema com isto é que você vai evitar que vários usuários por trás do mesmo IP enviar ou seja, proxy, e o mesmo usuário pode postar de diferentes locais.
Nem é particularmente boa e se é possível eu recomendo pedindo-lhes para inserir um endereço de e-mail no início, armazenar o cargo como não confirmada, enviar e-mail um link de confirmação para fora e apenas fazer a oficial após se clicar nele . Novamente, não é à prova de bala, uma vez que não impede as pessoas postando com várias contas de email, mas é um pouco melhor do que as opções acima.
HTH
Outras dicas
Use as variáveis ??de sessão para acompanhar o que o usuário está fazendo.