IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Conseils pour gestion de ressources sur une requete


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 152
    Points : 65
    Points
    65
    Par défaut Conseils pour gestion de ressources sur une requete
    Hello

    Je me pose une question sur la gestion des ressources serveur.

    J'ai dans ma base plus de 100000 adresses ip (serveurs proxies publics, ip de robots... toutes valides) de visiteurs à bannir de mon site.

    J'ai 3 solution:

    1) J'effectue au début de chaque pages une requête mysql qui va vérifier si l'ip du visiteur est présente dans la base.

    2) Je met tout le contenu de ma base dans un tableau que je met dans une variable de session, et je verifie si l'ip est présente dans le tableau. Le problème est que si j'ai 20000 visiteurs qui ont tous une variable de session avec 100000 entrées cela va être lourd je pense...non?

    3) J'utilise un fichier htaccess. Probleme: cela est plus long et agacant à mettre à jour car il faut ajouter et supprimer les entrées manuellement en général.

    Je précise que les adresses ip changent constamment, il y a environs 20000 suppressions/remplacements tous les 2 jours.

    Quelle est la meilleure solution à vos yeux?

    merci

  2. #2
    Membre expérimenté Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Points : 1 414
    Points
    1 414
    Par défaut
    SI j'ai bien compris le fonctionnement, je te propose mon idée qui se rapproche de ta première proposition.

    Chaque utilisateur dois s'identifier, avec login et passwd, j'imagine. Au moment ou tu crées sa session, tu enregistre aussi son adresse IP dans ta base. Tu vérifie à chaque page si IP/login/passwd sont toujours valid, sinon tu redemande une authentification.

    Ca te vas ?

  3. #3
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Bonsoir,
    Je ne vois pas où est le problème avec la première solution : vérifier si l'ip ne fait pas partie de la table des bannis.

    L'important est que cette ip bannie constitue un index unique.
    Les valeurs des ips étant bien différentes les unes des autres, l'indexation unique sera très performante et une requête telle que la suivante sera hyper rapide :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = "SELECT ip FROM t_bans WHERE ip='$ip'";
    Si vraiment tu veux économiser cette requête sur toutes les pages, bien qu'elle ne soit vraiment pas pénalisante, il est possible d'imaginer mettre un booléen en session indiquant que la vérification à déjà été faite.

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    En tout cas ta solution 2 n'a aucun interet .

Discussions similaires

  1. Réponses: 0
    Dernier message: 02/06/2009, 15h03
  2. Réponses: 2
    Dernier message: 28/04/2009, 15h26
  3. Requete pour trier un état sur une somme partielle ?
    Par thierry.drouet dans le forum Access
    Réponses: 5
    Dernier message: 26/10/2006, 16h45
  4. Aide sur une requete de sélection
    Par stephdiplo150 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 16/01/2004, 10h40
  5. []débogage sur une requête dasn visual basic
    Par mcay dans le forum VB 6 et antérieur
    Réponses: 19
    Dernier message: 24/09/2003, 09h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo