home > tutoriale > php > cum-sa-detectezi-ip-vizitator.php

Cum sa detectezi ip utilizator

26 Septembrie 2010 de Mihail Alin

In acest tutorial le vom prezenta printr-un exemplu cum puteti detecta ip-ul unui vizitator.Dupa care vom folosi acest ip pentru al arata pe pagina.

tutorial php : autor
Autor :   Mihail Alin

Detecteaza ip-ul vizitatorului

Detectarea de ip este foarte simpla, atat de simpla incat cu o singura linie de cod o poti obtine.Desi nu sunt de acord cu stocarea de ip-uri, consider ca este de folos pentru a face anumite "validari" pentru fiecare ip,acest tutorial pur si simplu arata un exemplu despre cum sa detectezi un ip si sa il aratati vizitatorului pe pagina,nimic mai mult.

      <?php
      if (getenv("HTTP_X_FORWARDED_FOR")){
      $ip = getenv("HTTP_X_FORWARDED_FOR");
      	} else {
        $ip = getenv("REMOTE_ADDR");
        }
        echo 'Acesta este ip-ul tau:<b style="color:F00"> '.$ip.'</b>';
        ?> 
      
Acesta este rezultatul :

Acesta este ip-ul tau: 54.80.146.251

Detectare host name

Ok pana acum stim cum sa detectam ip-ul vizitatorului, dar am dori sa le detectam si numele hostului,foarte simplu.

<?php
if (getenv("HTTP_X_FORWARDED_FOR")){
$client = gethostbyaddr($_SERVER['HTTP_X_FORWARDED_FOR']);
  } else {
$client = gethostbyaddr($_SERVER['REMOTE_ADDR']);
   }
$str = preg_split("/\./", $client);
$i = count($str);
$x = $i - 1;
$n = $i - 2;
$isp = $str[$n] . "." . $str[$x];
echo '<p style="color:#0FF>ISP-ul tau este: <b style="color:#F00">'.$isp.' </b></p>';
?>

Acesta ar fi rezultatul:



ISP-ul tau este: amazonaws.com

Detectare ip + ISP

Ariel 2 in 1 :)), ok acum haideti sa unim cele doua parti si sa scoatem ip-ul si ISP-ul printr-un singur script.

<?php
if (getenv("HTTP_X_FORWARDED_FOR")){
$ip = getenv("HTTP_X_FORWARDED_FOR");
$client = gethostbyaddr($_SERVER['HTTP_X_FORWARDED_FOR']);
  } else {
$ip = getenv("REMOTE_ADDR");
$client = gethostbyaddr($_SERVER['REMOTE_ADDR']);
   }
$str = preg_split("/\./", $client);
$i = count($str);
$x = $i - 1;
$n = $i - 2;
$isp = $str[$n] . "." . $str[$x];
echo 'Acesta este ip-ul tau:<b style="color:#F00"> '.$ip.'</b><br/><br/>
<p style="color:#0FF">ISP-ul tau este: <b style="color:#F00">'.$isp.' </b></p>';
?> 

Rezultatul:


Acesta este ip-ul tau: 54.80.146.251

ISP-ul tau este: amazonaws.com


Puteti citi mai multe despre functia getenv, functia gethostbyaddr, functia preg_split pe php.net.



Da si tu un like
  


Daca ti-a fost folositor acest tutorial/articol, poti copia urmatorul cod pe pagina ta

Tutoriale din Categoria PHP

  Trimiterea datelor din formular la adresa de e-mail   -   Cum sa detectezi ip utilizator   -   Validarea unui formular   -

Tutoriale aleatorii

  Cum sa creezi litere capitale/majuscule cu CSS   -   Un simplu meniu in CSS si HTML   -   Centrarea paginii cu CSS   -   Table in HTML   -   Cum sa inserezi un sunet/melodie intr-o pagina   -   Cum sa detectezi ip utilizator   -   Cum sa centrezi o fereastra/popup   -
Spune-le prietenilor tai despre acest tutorial/articol
Nume:
Email:
Email-ul prietenului tau:
Mesajul:

Comenturi

2 comenturi pana acum... (posteaza si tu)

As dori , daca se poate, sa imi spui si mie cum pot sa trec ip-ul intr-un fisier text , fiecare ip stocat sa il treaca intr-un fisier text, nu sa il afiseze pe pagina . Multumesc , frumos tutorial.
Astept raspuns .

Postat de Gabi pe data de: Monday, 04.18.11 @ 23:21pm

"Desi nu sunt de acord cu stocarea de ip-uri, consider ca este de folos pentru a face anumite "validari" pentru fiecare ip" . CORECT . MERCI

Postat de dementul pe data de: Friday, 12.31.10 @ 23:31pm

Comentarii:

Nume:

Email:

Comentariu:


 

*Intrebare de verificare : Raspunde la intrebarea din imaginea de mai jos ...

 
HINT : Raspunsul este din 6 litere, incepe cu r si se termina cu s


 


Important:
E-mailul nu va fi vizibil si NU va fi folosit de catre rotuts.com .
Nu sunt permise linkuri catre alte pagini.
Va rugam , comentariile sa ramana strict relationate cu topicul.
Comentariile considerate ofensive sau care nu au nici o legatura cu topicul vor fi sterse(trolling).

Folosirea codului HTML nu este permisa.
Puteti folosi BBcode pentru a va formata textul.