Pergunta

Esta questão foi problably perguntado antes, mas parece que eu não posso frase minha pesquisa corretamente o suficiente para encontrar a resposta.

Normalmente, quando você se inscrever para obter acesso a um fórum na internet, um e-mail de autorização é enviado para você e você pode clicar em um link que leva você a uma página que executa a autorização.

O que eu quero é enviar um email para um usuário já criado (não logado embora), e deixá-los aceitar uma proposta, clicando em um link no e-mail. O link é claro aponta para uma página que executa as operações de banco de dados e mostrar algum tipo de resultado.

Que técnicas e / ou rota devo tomar para implementar isso? E uma vez que este está relacionado a segurança, o que devo atente para?

Atenciosamente, Casper

Foi útil?

Solução

Quando você enviar o e-mail, gerar uma grande seqüência aleatória e armazená-lo em uma mesa com o seu ID de usuário e alguma indicação do que o link está indo fazer.

Em seguida, enviar-lhes o e-mail com um link para DoSomething.aspx?id=long_string_here.

DoSomething.aspx Write para que ele olha para cima a corda longa e apresenta ao usuário uma confirmação do que eles vão fazer e um botão para fazê-lo. Nenhum registro no necessário. Você poderia até mesmo deixar o usuário logado, se quiser.

Após a ação for concluída, ou cada X dias, exclua a seqüência da tabela.

Preocupações:

  1. as pessoas ruins podem tentar bater sua página com seqüências aleatórias. Se as cordas são suficientes tempo suficiente e aleatória, isso não importa, mas você pode querer o acesso do acelerador para a página ou impedir que mais de solicitações X de um endereço IP em um período determinado.
  2. Aggressive Spam-damas podem seguir o link a partir do corpo do e-mail. Certifique-se de que nenhuma operação é executada simplesmente acessando a página; o usuário deve ter que clicar em um botão ou causar um POST.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top