Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

AFFICHER IP/HOTE RÉEL - IP/HOTE PROXY - INFOS BROWSER/OS


Information sur la source

Catégorie :Réseau & Internet Classé sous : server, proxy, detecter, hostname Niveau : Débutant Date de création : 28/06/2006 Date de mise à jour : 01/07/2006 16:04:30 Vu / téléchargé: 13 216 / 1 672

Note :
8,33 / 10 - par 3 personnes
8,33 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note

Description

Ce petit code à été dévellopper pour mes activités sur France-FPS.com, nos visiteurs ont souvent beaucoup de mal a faire la différence entre leur IP LAN et WAN pour le lancement de serveurs de jeux.
J'ai donc voulu creer une page web qui leur permette d'afficher leur IP WAN, afin d'être sur de bien mettre la bonne, le script devait detecter l'utilisation d'un eventuel proxy mais aussi afficher l'adresse IP réelle du visiteur.
 

Source

  • <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  • <html><head>
  • <title>Detection IP</title>
  • </head><body>
  • <?php
  • // Script PHP par Greg 'AddiKTiV' ROUSSAT
  • // http://www.france-tuto.com
  • // Ce script est diffusé sous Lincense Publique Générale
  • // Merci de m'informer en cas de modifications / améliorations
  • // webmaster@addiktiv.info
  • include ('arith.lib.php');
  • $direct_ip = ARIHT_getipreelle();
  • $direct_host = gethostbyaddr($direct_ip); // Renvoi du nom d'hote réel.
  • $proxy_ip = $_SERVER['REMOTE_ADDR'];
  • $proxy_host = gethostbyaddr($proxy_ip); // Renvoi du nom d'hote proxy.
  • $nav_os = $_SERVER['HTTP_USER_AGENT']; // Renvoi les infos de connection (naviguateur/OS)
  • ?>
  • <u>Adresse IP réelle</u> : <? echo '$direct_ip'; ?><br>
  • <u>Nom d'hote réel</u> : <? echo '$direct_host'; ?><br><br>
  • <u>Infos naviguateur, système d\'exploitation</u> : <? echo '$nav_os'; ?> <br><br><br>
  • <br><br>
  • <center>
  • <?php $affichage_detect = ARIHT_affichage_detect ();?>
  • </center>
  • <br><br>
  • <?php $affichage_ip_proxy = ARIHT_affichage_ip_proxy ();?>
  • <br>
  • <?php $affichage_host_proxy = ARIHT_affichage_host_proxy ();?>
  • </body></html>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head>
<title>Detection IP</title>
</head><body>

<?php
// Script PHP par Greg 'AddiKTiV' ROUSSAT
// http://www.france-tuto.com
// Ce script est diffusé sous Lincense Publique Générale
// Merci de m'informer en cas de modifications / améliorations
// webmaster@addiktiv.info

include ('arith.lib.php');

$direct_ip = ARIHT_getipreelle();
$direct_host = gethostbyaddr($direct_ip); // Renvoi du nom d'hote réel.
$proxy_ip = $_SERVER['REMOTE_ADDR'];
$proxy_host = gethostbyaddr($proxy_ip); // Renvoi du nom d'hote proxy.
$nav_os = $_SERVER['HTTP_USER_AGENT']; // Renvoi les infos de connection (naviguateur/OS)

?>	

<u>Adresse IP réelle</u> : <? echo '$direct_ip'; ?><br>
<u>Nom d'hote réel</u> : <? echo '$direct_host'; ?><br><br>
<u>Infos naviguateur, système d\'exploitation</u> : <? echo '$nav_os'; ?> <br><br><br>
<br><br>
<center>
<?php $affichage_detect = ARIHT_affichage_detect ();?>
</center>
<br><br>
<?php $affichage_ip_proxy = ARIHT_affichage_ip_proxy ();?>
<br>
<?php $affichage_host_proxy = ARIHT_affichage_host_proxy ();?>
</body></html>

Conclusion

Archive composée de :
index.php
artih.lib.php
proxy.png
noproxy.png


Merci de me passer un petit bout de mail si vous améliorez ou modifiez cette source afin de pouvoir mettre a jour ce post.

REMERCIEMENTS :

- kankrelune : Merci pour le tuyau phpMyAdmin, ainsi que les diverses corrections.
- xactise : Merci a toi aussi pour les corrections de syntaxe.
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

28 juin 2006 19:33:54 :
J'avais fait une phote d'orthographe vraiment ... innacceptable :-S
01 juillet 2006 16:04:30 :
- Utilisation de nouvelles fonctions pour detecter l'IP réelle (merci Krankelune) >> Fonctions tirée de phpMyAdmin. - Correction syntaxe du code source (merci krankelune et xactise). - ajout d'images pour illustrer l'utilisation (ou non) d'un proxy. - mise en place des fonctions dans un lib afin de rendre le code source plus facilement integrable. - Possibilité de changer la taille et la couleur de police pour le message de detection de proxy. Démo : http://www.france-tuto.com/communauté/ip.php

Commentaires et avis

signaler à un administrateur
Commentaire de kankrelune le 28/06/2006 21:02:00

Le problème c'est que la fonction get_ip() est mal faite et que tu t'en sert en l'état sans te poser de questions... à titre indicatif regarde dans les fichiers de phpmyadmin tu trouvera une fonction bien plus complète pour essayer de filtrer l'adresse du proxi... mais quoi qu'il en soit ces fonctions ne seront jamais fiable à 100%... .. .

Sinon concernant ta source...

<?php echo $site; ?>

et non pas

<? echo "$site";?>

Pareil pour $ip $host et $nav_os... .. .

sinon...

echo 'Adresse IP :'.$proxy;

serait mieux que...

echo "
Adresse IP :".$proxy."";

pareil pour...

echo "
Hote du Proxy :".$hostname."";

Il serait bien aussi de controler le contenu car certaines de ces variables (comme le HTTP_X_FORWARDED_FOR) sont facilement modifiables un coup de strip_tags évitera les failles CSS... .. .

Voili voilou... je met 5 car c'est pas mal mais ça pourrait être bien mieux... qui plus est la fonction get_ip() n'est pas de toi... .. . ;o)

@ tchaOo°

signaler à un administrateur
Commentaire de aeki le 28/06/2006 23:43:10

Merci pour les conseils que je ne manquerais pas de mettre a profit.
Quand a la fonction get ip() j'ai bien préciser que j'avais tirer profit du script de visualight
Mais ca ne va pas empecher de jregarder attentivement phpmyadmin afin d'améliorer.

signaler à un administrateur
Commentaire de aeki le 29/06/2006 00:00:29

Apres quelques 3 minutes de recherches, j'ai effectivement trouver la fonction dont tu me parlais [function PMA_getIp()]
Alors merci pour le tuyau, je ne serais pas aller fouiner dans phpmuadmin sans cela, et effectivement elle est tres interressante.
Pour le coup je vais refaire mon script en entier et passer mes fonctions (j'aimerais mettre un peu de couleur) dans une librairie externe pour faire maigrir le script a inclure dans la page.

signaler à un administrateur
Commentaire de xactise le 29/06/2006 16:19:46

kankrelune ta oublier
<?php et non <?PHP
ensuite
<balise_html> au lieu de <BALISE_HTML> (en gros : <html> et non <HTML>
<br /> et non <br>
et puis aussi juste pour le fun : quand tu n'a qu'une seule instruction dans un if ou else sa sert a rien d'ouvrir une séquence
if($a==$b) echo 'blabla';
et non
if($a==$b){ echo 'blabla'; }

Voila sinon la source a déjà été vu donc voila

signaler à un administrateur
Commentaire de malalam le 07/07/2006 08:06:18 administrateur CS

Hello,

Xactise => <?php ou bien <?PHP, à ma connaissance, ça n'a aucune influence. Mais je n'ai jamais testé...mais c'est plus joli, ceci dit lol.
Mais c'est surtout ta dernière affirmation avec laquelle je ne suis pas franchement d'accord :-) Je trouve plus clair de toujours utiliser les accolades, AINSI que l'indentation, et les retours chariots:
if ($a === $b) {
    echo 'blabla';
}
C'est quand même une question de goûts... mais mettre parfois des if () avec accolades, parfois sans, parfois avec retour chariot, parfois sans...ça, à mon sens, c'est une mauvaise idée pour la clarté d'un code.

Bon sinon, côté code...ben heu, plus gd chose à dire ;-)
Sauf que je n'aurais pas fait une fonction affichant directement les valeurs, moi, mais les renvoyant (séparer autant que possible  le contenu du contenant...).

signaler à un administrateur
Commentaire de kankrelune le 07/07/2006 14:17:58

Par contre il y a encore une erreur concernant l'affichage... .. .

<? echo '$direct_ip'; ?>

non seulement les quotes sont inutile mais en plus c'est $direct_ip qui va s'afficher et non l'ip en question... .. . ;o)

@ tchaOo°

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

fopen & proxy [ par thierry ] Bonjour à tous et à toutes !Je tente d'utiliser la fonction fopen en ouvrant une page web par exemple. Seulement voila mon pb. Chez moi ca marche très Apache comme proxy ? [ par Clem ] J'ai vu que il est possible d'utiliser Apache comme serveur proxy, mais je n'y arrive pas. Pouvez-vous m'aider ? connexion avec sql server [ par mabrouk ] bonjour, svp je travaille sur un poste client windows2000 server dans un domaine j'ai installé easyphp(php+apache+mysql), j'ai voulu se connecter a no Attention question pour les pros du php ! [ par Neozix ] Bonjour,Merci de m'accorder un peu de temps pour mon problème. Voici la bete-----------------------------------------------------&lt;?phpinclude("incl php sql server pb connexion??!! [ par ronando ] g installer easy php.ma base de données est sql server et tt ca tourne sous windows 2000.Mais ca ne fonctionne pas quand je veux me connecter avec la SQL SERVER [ par ceeno ] Bonjour , j'ai un probleme avec SQL SERVER , je souhaiterais l'installer squr un autre disque que le c:\ seulement je n'y arrive pas...Quelqu'un poura Drole de message d erreur !!!! [ par songes ] Un truc bizarre arrive de temps en temps. J ai ce message d'erreur :Server Error The following error occurred:The server closed the connection while r Pb Windows Server 2003 / PHP [ par Crazyht ] Voila j'ai installé ce Week End mon tout nouveau Windows Serveur 2003 avec IIS 6, je lui colle mon php 4.3.x, et enfin installe phpMyAdmin et le confi Recherche sur un site [ par Gregco ] Hello,Question question... je programme énormément en asp et j'ai envie de découvrir php...J'ai recourt au forum parce que j'ai besoin d'une informati Eviter un proxy [ par Dionysos33 ] Bonjour à tous,J'aimerais savoir s'il est possible de faire un page en php qui afficherait un autre site.Je m'explique : au boulot on a un proxy qui b


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,702 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.