Prevenir usuário anônimo de formulário submeter muitas vezes em ASP.NET sem SqlMembershipProvider

StackOverflow https://stackoverflow.com/questions/793175

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

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top