CÓDIGO

Plugin Limitador de Formulários Joomla

Visão geral técnica do plugin Plugin Limitador de Formulários Joomla

Objetivo

O plugin Limitador de Formulários Joomla oferece um mecanismo de proteção leve e baseado em sessões contra o abuso de formulários ou submissões rápidas acidentais. Garante que os utilizadores só podem enviar formulários um número limitado de vezes dentro de um intervalo de tempo definido.

Plugin Limitador de Formulários Joomla

Principais características

 

✅ Tracking baseado em sessões: Mantém os registos de envios na sessão do utilizador, sem necessidade de armazenamento em base de dados.
✅ Limites personalizáveis: Configure facilmente o número permitido de envios e o período de tempo nas definições do plugin.
✅ Proteção apenas no frontend: Aplica-se apenas no frontend do website, deixando a funcionalidade do backend inalterada.
✅ Limites de taxa específicos para formulários: Suporta múltiplos formulários, passando opcionalmente um form_id para rastrear os envios de forma independente.

Descarregar este Plugin

Como Funciona?

  • Quando um formulário é enviado (solicitação POST), o plugin Joomla Rate Limiter verifica quantas vezes o formulário foi enviado por este utilizador dentro do período de tempo configurado.
    Se a contagem de envios exceder o limite, o plugin:
  • Apresenta uma mensagem de aviso (Está a enviar com muita frequência...).
  • Redireciona o utilizador de volta para a página inicial ou para outra página definida.
  • Se estiver abaixo do limite, regista o registo de data e hora de envio atual e permite que o pedido prossiga.

Fluxo de trabalho técnico

1️⃣ Initialização:

  • O plugin é carregado quando o Joomla dispara onAfterInitialise().

2️⃣ Frontend-only Execution:

  • The plugin skips execution if running on the Joomla administrator.

3️⃣ Configuração:

  • timeWindow (segundos): ex. 600 (10 minutos).
  • submissionLimit: ex. 5 submissões permitidas.

4️⃣ Rastreamento de Envio:

  • Os registos de data e hora dos envios são armazenados na sessão PHP (por utilizador).
  • Os envios mais antigos, fora do período de tempo, são automaticamente descartados.

5️⃣ Limitação de taxa:

  • Se a contagem de envios exceder o limite permitido, o utilizador será bloqueado e redirecionado.

    Finalidade

    O plugin Joomla Form Rate Limiter oferece um mecanismo de proteção leve e baseado em sessões contra o abuso de formulários ou submissões rápidas acidentais. Garante que os utilizadores só podem enviar formulários um número limitado de vezes dentro de um intervalo de tempo definido.