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

PHP & Base de données Discussion :

Filtrage IP sur le site


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3
    Par défaut Filtrage IP sur le site
    Bonjour à tous,

    Je souhaite développer un site web qui aura un système de filtrage des visiteurs.

    C'est à dire que je souhaite mettre un place un système de filtrage par adresses IP pour bloquer l'acces au site à des visiteurs jugés "indésirables".
    Toutes les IP indésirables seront stockées dans la BDD.

    Avez vous une solutions efficaces pour réaliser cette action ?

    Il faut que le contrôle soit réalisé dès la connexion au site que ce soit par la page d'accueil ou une page annexe.


    J'espère avoir été clair,
    Merci pour vos conseils

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France, Somme (Picardie)

    Informations forums :
    Inscription : Avril 2009
    Messages : 31
    Par défaut
    Bonjour,

    tu devras inclure un fichier de vérification sur chaque page de ton site. Afin de récupérer l'adresse IP du visiteur il faut que tu utilises : $REMOTE_ADDR.

    Ensuite, tu fais une connexion à ta BDD en vérifiant que l'IP courante n'est pas blacklister (vérification que celle-ci ne se trouve pas dans la table dédiée).

    Si c'est le cas tu redirige vers une page spécifiant que l'utilisateurs est interdit sur ton site (cette page ne contiendra pas l'inclusion du fichier de vérification pour éviter une boucle infini ^^).

    Voili Voilou.

  3. #3
    Membre chevronné Avatar de rikemSen
    Homme Profil pro
    Analyste Développeur Web - Fizzup.com
    Inscrit en
    Décembre 2007
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste Développeur Web - Fizzup.com
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 387
    Par défaut
    Citation Envoyé par mikah Voir le message
    tu devras inclure un fichier de vérification sur chaque page de ton site. Afin de récupérer l'adresse IP du visiteur il faut que tu utilises : $REMOTE_ADDR.
    Moi je pense que c'est plutôt: $_SERVER['REMOTE_ADDR'] (:

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France, Somme (Picardie)

    Informations forums :
    Inscription : Avril 2009
    Messages : 31
    Par défaut
    Citation Envoyé par radicaldreamer Voir le message
    Moi je pense que c'est plutôt: $_SERVER['REMOTE_ADDR'] (:
    Il est vrai, erreur de c/c désolé.

    La session permet juste d'optimiser le traitement en évitant une requête au serveur en moins.

  5. #5
    Membre du Club
    Inscrit en
    Janvier 2011
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 9
    Par défaut adresses ip
    Salut, non les adresses IP changent toutes les 24 heures sauf à avoir demandé une ip fixe, et rien n'empèche d'utiliser un proxy, un tor ou autre truc...

    De toute façon un indésirable pourra tjs entrer sur ton site, s'il s'y connait un peu...

    Voilà pourquoi je te parlais de cookies.

    bon développement

    Si je me trompe, que quelqu'un me le dise, on supprimera mes propos

    a+
    phil

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 89
    Par défaut
    bonjour,

    je rajouterais différents test sur :

    HTTP_X_FORWARDED_FOR
    HTTP_X_FORWARDED
    HTTP_X_COMING_FROM
    etc.. un petit phpinfo() te permettra d'en obtenir la liste complète

    n'oublie pas d'implémenter un système de filtrage des ip locales (192.168..., 10....), et différents test sur les différentes variable jusqu'à obtention d'un résultat "valable"

    au passage:
    fonction getenv() (attention au serveur IIS...)

    délicat d'implémenter un filtrage sur ip sur du long terme, comme il a été dis dans les post précédents, pas assez fiable, une ip peut être variable, tous le monde n'a pas une ip fixe, et certains ne veulent pas la divulguer.

    le système session/cookie est aussi utilisable, mais encore plus simplement "détournable", tous les navigateurs offre des fonctionnalités de suppression.

    si tu veux restreindre l'accès à certaines info de ton site, implémente une gestion de compte utilisateur et même dans ce cas il reste la possibilité d'avoir plusieurs comptes utilisateur pour une seule et même personne (si la création de compte est librement accessible). l'ensemble étant bien évidemment cumulable...

    vaste et difficile sujet la restriction d'accès...

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3
    Par défaut
    Merci, c'est bien ce que je pensais.

    Par contre je ne souhaite pas que cette opération ralentisse la navigation sur le site.
    Peut être stocker dans $SESSION si le visiteur est blacklisté ou non, pour eviter une vérif à chaque changement de page

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France, Somme (Picardie)

    Informations forums :
    Inscription : Avril 2009
    Messages : 31
    Par défaut
    Tu peux oui. Mais il faudra que tu fasses attention à vérifier si la variable de session existe et si celle-ci contient une valeur valide. Ça t'évitera, en effet, une connexion à ta BDD en moins par page. Et c'est bien $_SESSION et non $SESSION. ^^

  9. #9
    Membre du Club
    Inscrit en
    Janvier 2011
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 9
    Par défaut attention
    Salut

    En général, l'adresse IP d'un visiteur change tous les jours, je passerai plutôt par un système de cookies.

    a+
    phil

  10. #10
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3
    Par défaut
    Citation Envoyé par isuzu_fr Voir le message
    Salut

    En général, l'adresse IP d'un visiteur change tous les jours, je passerai plutôt par un système de cookies.
    phil
    Avec les connexions ADSL les IP sont fixes si je ne me trompe pas ?

    Et pour l'utilisation de cookie, je ne vois pas l'intéret en terme d'efficacité. Puis que la personne blacklistée supprime simplement son cookie pour pouvoir y accéder a nouveau

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/01/2014, 13h08
  2. Arborescence des sujets sur ce site
    Par Invité dans le forum Evolutions du club
    Réponses: 2
    Dernier message: 10/11/2004, 18h32
  3. Réponses: 2
    Dernier message: 08/11/2003, 23h42
  4. Page de rapport de bug sur le site de Sun
    Par piff dans le forum Général Java
    Réponses: 1
    Dernier message: 03/03/2003, 18h12

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