Code php pour limiter le nombre de recherche.

stone66

WRInaute discret
Bonjour,

comme le titre l'indique, je suis à la recherche d'un code en php afin que les utilisateurs qui font une recherche sur mon site ( recherche par mot ) soient limiter dans leur nombre de recherche successive afin de ne pas saturer le serveur.

je ne sais pas sur quel terme rechercher ce code, pouvez-vous m'aider ? :D

amicalement,
Stone66
 

Zecat

WRInaute accro
Tu peux le faire en stockant un compteur dans une variables session dans un tableau avec par exemple une ligne par minute et en face le nb de recherche. Au dela de NN un header vers "couic vous avez fait trop de recherches".

Inconvenient :

- ca bloquera pas les spider qui ne gerent pas les sessions
- Il te faut au prealable avoir mis en place en amont une détection fine des bon bots (google yahoo bing and co) pour ne pas les soumettre a ce controle (de toute façon eux les sessions ... ils s'en tappent).

Pour contourner cet limitation des sessions, il te faut alors entrer dans une logique plus lourde (stokage des infos sur le serveur - .txt ou bdd) en suivnat par IP. Mais la aussi inconvenient :

- tu va vite voir que ca proxy a donf ...

Du coté des cookies pas beaucoup plus de salut (sauf a interdir ton site des lors que le client refuse les cookies ... mais bon why not : fat juste regarder le % que ca représente ... si c'est 5 % ca vaut le coup ... si c'est 30 % c'ets plus gênant).
 

zeb

WRInaute accro
afin que les utilisateurs qui font une recherche sur mon site ( recherche par mot ) soient limiter dans leur nombre de recherche successive afin de ne pas saturer le serveur.
Il y a peut être moyen d'inverser la proposition pour plus de facilité.

Limiter le script de recherche a X usage par minute dans la limite acceptable pour le serveur.

- l'avantage est de rendre cela indépendant du visiteur.
- de fixer facilement soi même la limite (qui peut être variable en fonction de l'heure).
- de ne pas limiter en nombre l'utilisateur mais de le modérer dans l'usage (comme la bibine, a consommer avec modération)

Bref une info stockée sous la forme d'une variable, dans un fichier par exemple, avec un timestamp dedans permettait au script de recherche de répondre "désolé je suis a genoux" ou de renvoyer les résultats en mode normal si

timestamp + délaie < current timestamp
 

Discussions similaires

Haut