Existe uma maneira de limitar o acesso por hora por usuário no Apache2?

Existe uma maneira de limitar o acesso por hora por usuário no Apache2?

Ao solicitar, o formulário POST com userID já é necessário, então se eu conseguir registrar o userID do formulário POST, acho que haveria uma maneira de limitar a n vezes (acho que 3 vezes por hora é bom para mim) de acesso a esse UserID por uma hora. (Isso significa que o userID "A" só pode acessar 3 vezes em uma hora, e o userID "B" também pode acessar 3 vezes em uma hora, .....)

Mas isso, não consegui descobrir como fazer..

O que ele faz é apenas Proxys a solicitação para servir outro serviço - agora usando apenas ProxyPass no Apache2, então ele precisa ser configurado dentro da configuração do Apache2 (eu acho).

Existe uma forma de fazer isso?

Responder1

Não no nível do servidor web, você precisa fazer isso no nível do aplicativo; ou seja, após o POST a aplicação deverá informar ao usuário algo como "você fez muitas solicitações em pouco tempo, tente novamente mais tarde".

AFAIK, o servidor web Apache (mas isso também vale para o IIS) só pode limitar solicitações usando parâmetros HTTP (como o site ou URL) ou parâmetros de rede (como o endereço IP de origem ou uso de largura de banda).


(Por favor, corrija-me se estiver errado, não sou um especialista em Apache.)

Responder2

Dê uma olhadaeste caso de uso mod_securityque pode usar cookies ou conteúdo uri para que você também possa extrair dados POST. Ou apenas pegue o IP deles e use-o, pois qualquer pessoa pode digitar um nome de usuário diferente em um formulário para contornar isso.

informação relacionada