Aller au contenu

Sujets conseillés

Posté

Bonjour,

J'espère être dans le bon forum, mais je n'en suis pas sure, dans ce cas dites le moi.

J'ai un problème concernant une adresse IP.

J'ai une boutique de vente en ligne.

Ce matin un internaute s'est connecté pour passer une commande, pendant qu'il "surfait", je voyais son adresse IP. Quand il a passé sa commande, son adresse IP n'a pas été enregistrée, or j'en ai besoin pour notre système de lutte contre la fraude.

Avez-vous une idée sur la raison qui a fait que son adresse IP m'est parvenue comme "uknown", est ce le client qui peut masquer son IP, et dans ce cas pourquoi l'ai je vu quand il surfait ?

Merci par avance pour votre aide

Posté

Rebonjour,

Je m'excuse, mais j'ai fais une erreur dans le message précédent, quand le client surfait, je ne voyais pas son adresse ip, si cela peut éclaircir mon message,

Merci

Posté

Bonjour Loulou,

Si tu as l'heure approximative de son passage et l'accès aux logs Apache, tu devrais pouvoir retrouver son adresse IP.

Je ne sais pas comment est écrit le programme de vente en ligne, mais il n'est pas exclus qu'il fasse appel à une fonction gethostbyaddr() avec l'adresse IP comme argument. Si l'adresse ne peut se résoudre, pour raisons diverses telles que mauvais routage ou blocage par firewall, tu peux avoir une affichage "unknown" dans ce cas.

Comment as-tu les IP des visiteurs, nombres seulement ou noms de hosts ?

Dan

Posté

Bonjour Dan,

Merci pour ta réponse.

Je vois les IP sous forme de nombres.

Et voici la fonction (que je n'ai pas écrite), qui permet de récupérer l'IP :

 function tep_get_ip_address() {
   if (isset($_SERVER)) {
     if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
       $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
     } elseif (isset($_SERVER['HTTP_CLIENT_IP'])) {
       $ip = $_SERVER['HTTP_CLIENT_IP'];
     } else {
       $ip = $_SERVER['REMOTE_ADDR'];
     }
   } else {
     if (getenv('HTTP_X_FORWARDED_FOR')) {
       $ip = getenv('HTTP_X_FORWARDED_FOR');
     } elseif (getenv('HTTP_CLIENT_IP')) {
       $ip = getenv('HTTP_CLIENT_IP');
     } else {
       $ip = getenv('REMOTE_ADDR');
     }
   }

   return $ip;
 }

Posté

Certaines techniques permettent de masquer l'adresse ip. Mais de manière générale, quelqu'un qui n'a rien à se reprocher n'a aucune raison de la cacher. Tu as une boutique, donc des données 'importantes', tu ne peux laisser entrer quelqu'un avec un masque sur le visage, de même tu n'as aucun intéret de laisser passer quelqu'un sans adresse ip.

De la facon dont est faite ta boutique, tu devrais interdire la création de compte, ainsi que la commande à quelqu'un qui n'a pas d'adresse ip, ainsi que quelqu'un qui n'a pas d'adresse mail. Ce sont les 2 seules facons de retrouver quelqu'un. (bien que l'adresse mail ne soit pas trop fiable.. :/ )

Posté

Bonjour Anonymous et merci pour ton aide.

D'après ce que tu dis, certaines personnes cachent leur IP pour des raisons malhonnêtes, mais je veux croire encore en la bonne moralité des gens, crois tu qu'il soit possible que cet internaute se connecte depuis un réseau, tel que université, et que ce réseau empêche par exemple de réaliser des transactions en ligne ou ce genre de chose ?

Posté (modifié)
Certaines techniques permettent de masquer l'adresse ip.

Je ne vois pas comment il est possible de ne pas donner d'adresse IP et en même temps de recevoir des informations d'un serveur web. Cela me semble impossible.

Jean-Luc

Modifié par Jeanluc
Posté
En informatique tout est possible. Surtout quand il faut ne pas êter identifié. Mais bon, c'est de la bidouille de hacker :)

Pas convaincu. :nono:

Il y a quand même des contraintes techniques incontournables. Peut-être que le serveur ne verra que l'adresse IP d'un proxy (ou d'un autre dispositif intermédiaire), mais une adresse IP "client", il y en a toujours une.

Sinon, le serveur n'a aucune adresse à laquelle il peut envoyer ses réponses...

Jean-Luc

Posté

Merci à tous pour vos réponses,

Dans ma base de données, je ne récupère pas "rien" mais "uknown", cela ne signifierait il pas que la fonction (publiée ci-dessus), contrôle la véracité de l'adresse ?

Posté

Il est aussi possible que l'adresse apparente du "surfeur" soit l'IP d'un réseau local "non routable".

De nombreuses personnes se connectent au Hub en affichant une adresse de ce type. Il a été à un moment question de les désactiver pour éviter le spam.

Je surveille attentivement les adresses en 10.x, 172.x ou 192.168.x mais tant qu'il n'y a pas de transaction financières, ce n'est pas très gênant.

Par contre, pour une boutique en ligne, c'est plus ennuyeux.

Posté (modifié)

Je ne connais pas la fonction que tu utilises en PHP, mais je suis à peu près sûr de ceci.

La fonction te répond "unknown" quand l'adresse est une adresse réservée (par exemple, pour l'utilisation sur un réseau local). Cette technique ne répond pas à ton besoin de sécurité.

Souvent, dans les entreprises, le réseau local interne est numéroté de manière privée et une adresse "bidon" est alors passée à travers le firewall pour les connexions vers le réseau Internet. Ce que ta fonction devrait te donner dans ce cas-là, c'est l'adresse IP du firewall et non l'adresse "bidon". Cela te permettrait de localiser de manière certaine, l'entreprise en question, faute de pouvoir localiser le poste du client.

Idéalement, il te faudrait une fonction qui te donne la chaine d'adresses IP par laquelle passe le service.

Jean-Luc

>>Dan: je suis trop lent... :rolleyes:;)

Modifié par Jeanluc
Posté

Merci pour ces précisions.

Ce que tu m'expliques c'est que si mon client a pour ip "unknown", c'est parcequ'il a utilisé un pc appartenant à un réseau et que c'est une IP de type 10.0.0... qui m'est parvenue ?

je vais essayer d'avoir plus de précisions sur cette connexion demain, car j'aurais accès aux logs sur le serveur.

Je publierai les infos que j'aurais obtenues.

PS : Il est super ton site d'annuaires !

Posté
que c'est une IP de type 10.0.0... qui m'est parvenue ?

C'est bien ça.

Merci pour tes encouragements.

Jean-Luc

Posté

Lu,

Juste pour dire que je suis d'accord avc Jean-Luc. Il y a toujours une adresse IP seulement, la personne peut la 'masquer' en prenant une autre par l'intermédiaire d'un tiers.

Ayant un site à forte visite, j'ai toujours l'ip ou l'ip du proxy de la personne.

++

Portekoi

  • 9 months later...
Posté
Je ne vois pas comment il est possible de ne pas donner d'adresse IP et en même temps de recevoir des informations d'un serveur web. Cela me semble impossible.

Uhm... et vous faites quoi du spoofing d'IP... .. ?

Par contre on est d'accord que si l'adresse est indéfinit ou fausse il y a anguille sous roche... .. .

je veux croire encore en la bonne moralité des gens

Croire que "tout le monde il est beau, tout le monde il est gentil" avec internet c'est s'exposer à bien des ""dangers"'" surtout concernant une boutique en ligne... .. .

@ tchaOo°

Posté
Je ne vois pas comment il est possible de ne pas donner d'adresse IP et en même temps de recevoir des informations d'un serveur web. Cela me semble impossible.

Uhm... et vous faites quoi du spoofing d'IP... .. ?

Bonjour kankrelune,

Peux-tu expliquer comment on peut :

- ne pas donner d'adresse IP correcte

- en même temps, recevoir les réponses du serveur

Jean-Luc

Posté (modifié)
Peux-tu expliquer comment on peut :

- ne pas donner d'adresse IP correcte

Salut Jean Luc...

Le spoofing est une technique permettant à un pirate d'envoyer à une machine des paquets semblant provenir d'une adresse IP autre que celle de sa machine... attention je ne parle pas de passer par un proxi... rien à voir... en fait cela consiste à modifier le champ source de l'en-tête TCP afin de simuler un datagramme provenant d'une autre adresse IP... .. .

- en même temps, recevoir les réponses du serveur

Dans le cadre d'une attaque par spoofing, l'attaquant n'a aucune information car les réponses de la machine cible vont vers une autre machine du réseau (on parle alors d'attaque à l'aveugle ou blind attack)... cela n'empeche cependant pas le pirate de pouvoir accomplir ses basses oeuvres... .. .

Le spoofing est assez difficile à mettre en place et demande un certain niveau de connaissances du hacking mais c'est faisable et bien plus répandu qu'on ne peut le croire... il y a aussi la possibilité d'attaquer via une machine infectée par un trojan qui agira comme une passerelle proxi... à ce moment là pareil pas de trace de l'adresse IP de l'attaquant (réel)... .. .

Tout ça pour dire que bien que ces attaques ne soient pas à la portée de tout le monde comme le dit Antoine Cailliau...

En informatique tout est possible. Surtout quand il faut ne pas êter identifié. Mais bon, c'est de la bidouille de hacker

;)

@ tchaOo°

Modifié par kankrelune
Posté

Salut,

On est d'accord. Le hacker peut, de cette façon, nuire au système qu'il vise en le surchargeant par exemple, mais, par contre, il est impossible ainsi de passer une commande bidon sur un système un peu sécurisé.

En informatique tout est possible.
Pas du tout. En informatique, 1=1 et 0=0. Même la génération de nombres aléatoires n'est pas aléatoire. Elle en a seulement l'apparence. ;)

Jean-Luc

Posté
Salut,

On est d'accord. Le hacker peut, de cette façon, nuire au système qu'il vise en le surchargeant par exemple, mais, par contre, il est impossible ainsi de passer une commande bidon sur un système un peu sécurisé.

Si ça doit être possible... mais ce n'est pas à la portée de tout le monde... .. .

En informatique tout est possible

Pas du tout. En informatique, 1=1 et 0=0. Même la génération de nombres aléatoires n'est pas aléatoire. Elle en a seulement l'apparence. ;)

:blink:

Je ne vois pas le rapport... concernant la sécurité tout est possible... à faire ou à défaire... .. . ;)

@ tchaOo°

Posté
De la facon dont est faite ta boutique, tu devrais interdire la création de compte, ainsi que la commande à quelqu'un qui n'a pas d'adresse ip, ainsi que quelqu'un qui n'a pas d'adresse mail. Ce sont les 2 seules facons de retrouver quelqu'un. (bien que l'adresse mail ne soit pas trop fiable.. :/ )

<{POST_SNAPBACK}>

l'enregistrement des adresse IP et des adresses e-mail ne sont de toute façon pas des moyens suffisant pour sécuriser une boutique en ligne ... une commande en ligne peut tout à fait être passée d'un cyber café (ou d'ailleurs) avec une adresse email créée pour l'occasion, sans avoir besoin de se cacher ... ;)

la sécurisation d'une boutique en ligne (de même que pour n'importe quel autre système sensible, informatique ou non) passe par la combinaison d'un certain nombre d'actions préventives ET correctives déterminées par une analyse de risques (probabilité/dangereusité) ... de toute façon, aucune boutique en ligne ne se contentera que de protection informatique ...

Posté
Si ça doit être possible... mais ce n'est pas à la portée de tout le monde... .. .

Dans ce cas il faudrait aussi attaquer au niveau des routeurs... parce que ce sont eux qui déterminent la route du serveur et le chemin vers l'IP 123.123.123.123, donc le chemin "retour" pour l'info.

Donc en spoofant l'IP, on n'aura pas d'info en retour de la part du serveur... :)

Dan

Posté

Par rapport à la fonction que tu donnes :

function tep_get_ip_address() {
  if (isset($_SERVER)) {
    if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
      $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
    } elseif (isset($_SERVER['HTTP_CLIENT_IP'])) {
      $ip = $_SERVER['HTTP_CLIENT_IP'];
    } else {
      $ip = $_SERVER['REMOTE_ADDR'];
    }
  } else {
    if (getenv('HTTP_X_FORWARDED_FOR')) {
      $ip = getenv('HTTP_X_FORWARDED_FOR');
    } elseif (getenv('HTTP_CLIENT_IP')) {
      $ip = getenv('HTTP_CLIENT_IP');
    } else {
      $ip = getenv('REMOTE_ADDR');
    }
  }

  return $ip;
}

Elle pose un problème. Elle teste si l'IP existe, dans tous les cas. Mais bon nombre de serveurs sont configurés pour dire par défaut que les variables existent.. De plus, ce n'est pas parce que "$_SERVER['REMOTE_ADDR']" existe que c'est une adresse IP.

La fonction, pour éviter tout problème, devrait tester plutôt si l'IP renvoyée est bien une IP, autrement dit, si elle correspond au schéma

xxx.xxx.xxx.xxx Dans ce cas là, il n'y aurait pas de doute.

Mais récupérer une IP telle que

$_SERVER['REMOTE_ADDR'] = "toto";

ca n'a aucun sens ;)

et pourtant, ca peut être le cas de ta fonction :)

Posté (modifié)
Elle pose un problème. Elle teste si l'IP existe, dans tous les cas. Mais bon nombre de serveurs sont configurés pour dire par défaut que les variables existent.. De plus, ce n'est pas parce que "$_SERVER['REMOTE_ADDR']" existe que c'est une adresse IP.

La fonction, pour éviter tout problème, devrait tester plutôt si l'IP renvoyée est bien une IP, autrement dit, si elle correspond au schéma

xxx.xxx.xxx.xxx Dans ce cas là, il n'y aurait pas de doute.

Mais récupérer une IP telle que

$_SERVER['REMOTE_ADDR'] = "toto";

ca n'a aucun sens ;)

et pourtant, ca peut être le cas de ta fonction :)

<{POST_SNAPBACK}>

Oui qui plus est le $_SERVER['HTTP_X_FORWARDED_FOR'] est peu fiable car il peu facilement être modifié via l'entête http... .. .

pour vérifier l'addresse un...

 if (!preg_match("/[0-9]{1,3}+\.[0-9]{1,3}+\.[0-9]{1,3}+\.[0-9]{1,3}/i", $ip)) {
l'IP est invalide
} else {
l'IP est valide
}

Devrait suffire... j'ais pas testé mais normalement ça marchera... .. .

@ tchaOo°

Modifié par kankrelune
  • 2 months later...
Posté

Bonjour,

Est ce que quelqu'un connait une méthode pour enregistre sur un fichier les adresses IP des visiteurs sur une page web ?

Existe t'il un outil simple (sous windows) pour analyser les fichiers .Log est donner donc les adresses IP des visiteurs ?

nixdorf

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...