Question

Sur mon site, je dois limiter les demandes des utilisateurs pour diverses raisons:

  • Empêcher les requêtes excessives de la base de données ou des API tierces
  • Empêcher le spam
  • Empêcher d'autres personnes de récupérer mes données

Je me demandais quelles sont les meilleures pratiques en matière de limitation?Doit-il être fait au niveau du script (PHP / MySQL) ou au niveau du serveur (Apache)?

Et y a-t-il des bonnes pratiques spécifiques que je devrais garder à l'esprit en ce qui concerne la limitation?

Était-ce utile?

La solution

Cela devrait idéalement être fait au niveau du réseau / pare-feu ou à tout le moins sur Apache.

La limitation PHP est également possible, mais elle ne doit être effectuée que si vous souhaitez refuser l'accès à la ressource et pas seulement retarder.Reportez-vous à cette réponse (et commentaires) que j'ai donné dans une question similaire pour plus de détails:

Autres conseils

En haut de ma tête, il y a un couple que vous voudrez peut-être envisager d'utiliser:

1) Vous pouvez utiliser JavaScript pour créer des intervalles qui définissent des indicateurs afin que vous puissiez vérifier avec le drapeau pour vous assurer qu'ils ne demandent pas dans l'intervalle.

2) Vous pouvez utiliser PHP et stocker leurs demandes de temps pendant la session que vous exécutez et vérifiez à ce sujet afin de ne pas faire de demande trop fréquemment.

3) Vous pouvez utiliser MySQL pour vous connecter lorsque leur dernier temps d'accès était et voyez s'il doit être autorisé à utiliser la ressource.

Généralement, ces méthodes sont divisées en côté client et côté serveur.Déployez ce que vous vous sentez le plus à l'aise et vous convient le mieux à vous-même.

Tous les déploiements ne vous permettent pas de modifier la configuration du serveur Apache :)

J'espère que cela aide.Bravo!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top