it-swarm-pt.tech

Usando transientes para armazenar captchas

Eu só estava me perguntando se algo assim funcionaria:

  • A página exibe um formulário com um código captcha dentro dele.
  • Quando este formulário é gerado, um transitório é definido para armazenar o código captcha.
  • O vistor submete a forma
  • Depois de enviar, $_POST['captcha'] é comparado com o transiente do banco de dados; se correspondido retornar sucesso, caso contrário, falhar
  • Excluir o transiente

O que você acha? Isso é seguro?

2
Alex

Eu acho que, embora esse método possa ser seguro, há muitas vantagens em usar um sistema captcha pronto para uso, tanto em termos de segurança das imagens captcha/áudio/mídia, quanto em termos de vantagens de desempenho, como armazenamento em cache. . Se você usar um widget captcha que é baseado em JavaScript, por exemplo, a página subjacente gerada pelo WordPress pode, na verdade, ser totalmente armazenada em cache como uma página estática por vários plug-ins de armazenamento em cache. Se você está gerando o captcha em PHP cada vez, isso não seria possível

Se você seguir esse caminho, uma coisa que você deve fazer também é adicionar um número oculto ao formulário e certificar-se de que o agente do usuário que está respondendo ao captcha é aquele para quem você acabou de gerá-lo. A função wp_nonce do WordPress pode ajudá-lo a fazer isso facilmente. Caso contrário, se você não limpar os transientes de captcha com cuidado, é possível que alguém armazene essa página em cache com o captcha e peça a outro agente de usuário para enviar a resposta.

1
mitcho