¿Existe alguna forma de limitar el acceso por hora por usuario en Apache2?

¿Existe alguna forma de limitar el acceso por hora por usuario en Apache2?

Al realizar la solicitud, ya se requiere el formulario POST con ID de usuario, por lo que si puedo registrar el ID de usuario del formulario POST, creo que habría una manera de limitar a n veces (creo que 3 veces por hora es bueno para mí) el acceso a ese ID de usuario durante una hora. (Significa que el ID de usuario "A" solo puede acceder 3 veces en una hora, y el ID de usuario "B" también puede acceder 3 veces en una hora, .....)

Pero eso, no pude encontrar cómo hacerlo.

Lo que hace es simplemente Proxys la solicitud para servir otro servicio; ahora solo usa ProxyPass en Apache2, por lo que debe configurarse dentro de la configuración de Apache2 (creo).

¿Hay una manera de hacerlo?

Respuesta1

No a nivel de servidor web, debe hacerlo a nivel de aplicación; es decir, después de la POST, la aplicación debería decirle al usuario algo como "hiciste demasiadas solicitudes en muy poco tiempo, inténtalo de nuevo más tarde".

AFAIK, el servidor web Apache (pero esto también se aplica a IIS) solo puede acelerar las solicitudes utilizando parámetros HTTP (como el sitio web o la URL) o parámetros de red (como la dirección IP de origen o el uso del ancho de banda).


(Corríjame si me equivoco, no soy un experto en Apache).

Respuesta2

Echa un vistazo aeste caso de uso de mod_securityque puede usar cookies o contenido uri, por lo que probablemente también puedas extraer datos POST. O simplemente tome su IP y úsela, ya que cualquiera puede escribir un nombre de usuario diferente en un formulario para evitarlo.

información relacionada