Alguém criou duas contas idênticas no meu site exatamente ao mesmo tempo. Como isso é possível?

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

  •  21-09-2019
  •  | 
  •  

Pergunta

Não acredito nisso - alguém realmente criou duas contas no meu site de redes sociais usando o mesmo email, mesmo que existam verificações de validação do lado do servidor e do lado do cliente que impedem que isso aconteça. Mas obtenha isso o tempo observado na criação de ambas as contas são exatamente ao mesmo tempo.

Por alguma razão, estou duvidando de que isso fosse possível usando os formulários ou qualquer interface - no entanto, estou mais do que curioso para descobrir como isso aconteceu? Alguém tem alguma idéia aqui?

Foi útil?

Solução

Por alguma razão, estou duvidando de que isso fosse possível usando os formulários ou qualquer interface - no entanto, estou mais do que curioso para descobrir como isso aconteceu? Alguém tem alguma idéia aqui!

Provavelmente, um pós duplo do navegador que você não rastreia corretamente.

Se você não deseja que duas pessoas compartilhem um endereço de e -mail em sua rede social, faça um UNIQUE restrição em email campo.

Para evitar postes duplos, gerar uma string aleatória em um controle oculto em sua página, mantenha-a em uma coluna e faça esta coluna UNIQUE.

Outras dicas

Provavelmente porque você não lida com essa restrição única no banco de dados, se você tivesse uma restrição única na coluna de e -mail no banco de dados, então você não teria esse tipo de problema

Você deveria ter definido uma restrição única no email ou username coluna da tabela de usuários.

Não confie nas validações do lado do cliente! Esses são apenas para o visitante como informação. Sempre verifique se as validações são feitas no lado do servidor.

Meu palpite é que alguém usou um script para se inscrever no seu site como um teste para adicionar dezenas de contas para preencher seu site com spam do fórum ou qualquer outra coisa. Ao adicionar duas contas, eles testam como é fácil. Aparentemente, é muito fácil. Da próxima vez, eles podem criar mil contas e usá -las para inundar automaticamente seu sistema com spam. Boa sorte tentando se livrar disso tudo.

As dicas importantes já são fornecidas: aplicar endereços de email exclusivos e nomes de usuário exclusivos. No entanto, quando alguém acabou de se inscrever no seu site, verifique se não pode criar mais contas desse endereço IP por pelo menos meia hora. Então você está irritando esses scripts automatizados um pouco.

Certamente a razão mais provável é que o usuário enviou o formulário duas vezes.

A melhor maneira de evitar isso é usar o redirecionar após posT método.

Se você está de alguma forma recebendo postagens de formulário duplo e suas restrições/manuseio de transações não são feitas corretamente, é muito fácil fazer isso.

As submissões de formulário duplo (especialmente quando acionado pelo JavaScript) podem chegar bem a tempo do servidor. Verifique seus arquivos de log de acesso para postagens duplas.

Eu acho que entre os outros posts, você tem sua resposta. Provavelmente, não há contração única em campo no banco de dados e alguém clicou duas vezes no botão Enviar, oferecendo uma postagem dupla.

É uma boa prática definir suas restrições de banco de dados corretamente e, por experiência, geralmente é o melhor TPO desativar o botão Enviar no lado do cliente Clique (JavaScript) assim que clicar para impedir que os usuários que ainda tentam clicar duas vezes em tudo na web.

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