Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Jak zrobić widoczne IP odwiedzającego stronę ?


Rekomendowane odpowiedzi

Opublikowano

Witam. Powie ktoś jak zrobic strone ze jak ktoś wbija tam to widze jego IP i port strona to chyba tynipic ale jak to dokladnie ?

Opublikowano
Czasami padają pytania : "Jak mogę za pomocą skryptu PHP pobrać i zapisać do pliku IP oglądających moją strone"

<code><?php
$fp=fopen("ip.txt", "a");
flock($fp, 2);
fwrite($fp, $_SERVER['REMOTE_ADDR']."n");
flock($fp, 3);
fclose($fp);
?> </code>

A jeśli chcesz aby nie tylko zapisywał IP to o to kod:


<code><?php  
$fp=fopen("ip.txt", "a");  
flock($fp, 2);  
fwrite($fp, $_SERVER['REMOTE_ADDR']."n");
//Adres IP
fwrite($fp, $_SERVER['HOSTNAME']."n");  
//Nazwa Komputera
fwrite($fp, $_SERVER['HTTP_USER_AGENT']."n");
//Zawarto¶ć nagłówka User Agent, wysyłanego przez przegl±darkę
fwrite($fp, $_SERVER['HTTP_HOST']."n");  
//Zawarto¶ć nagłówka Host
fwrite($fp, $_SERVER['SERVER_PROTOCOL']."n");  
//Nazwa i wersja protokołu
fwrite($fp, $_SERVER['GATEWAY_INTERFACE']."n");
//Wersja specyfikacji CGI, używanej przez serwer
fwrite($fp, $_SERVER['HOSTTYPE']."n");
//System operacyjny
fwrite($fp, $_SERVER['PATH']."n");  
//Systemowa scieżka serwera
fwrite($fp, $_SERVER['OSTYPE']."n");  
//System operacyjny
fwrite($fp, $_SERVER['PHP_SELF']."n");
fwrite($fp, $_SERVER['HTTP_COOKIE_VARS']."n");  
fwrite($fp, $_SERVER['HTTP_POST_VARS']."n");
fwrite($fp, $_SERVER['HTTP_GET_VARS']."n");
flock($fp, 3);  
fclose($fp);  
?>  </code>



Nie jest to mój skrypt, znalazłem w necie.

Opublikowano

Hmmm skoro temat nie zamknięty, już spieszę z pomocą ^_^ ... Problemem jest tylko dla mnie gdzie tak owy adres ip chcesz przechować i jakie posiadasz umiejętności, bo my możemy pokazać ci 100 różnych sposobów jednak najważniejsze byś ty rozumiał co tam jest napisane ... powyższy skrypt zapisuje cały adres(i nie tylko) do pliku textowego jednak myślę ,że podany przez ciebie efekt najlepiej nadawał by się, jeśli wszystko przetrzymywane było by na serwerze, adres IP użytkownika, to nie coś, co powinno się przetrzymywać w dokumencie tekstowym ... Po za tym, tą jedna tabelę można by też wykorzystać do np: ilości odwiedzin strony :). Najprostszy sposób jaki można by otrzymać bez wrzucania pliku na serwer to :

(plik z rozszerzeniem '.php' przykładowa nazwa pliku ~ ip.php)

<!DOCTYPE html>
<html>
<head>
<?php
 
$ip = $_SERVER['REMOTE_ADDR'];
 
?>
</head>
<body>
<?php
 
echo $ip;
 
 ?>
</body>
</html>

Co on robi

1. Tworzysz sobie szablon strony

2. W sekcji head tworzysz skrypt php który pobiera "z serwera" adres ip użytkownika(tak naprawdę to tablica w której przetrzymywane są informacje dotyczące nagłówka 'http'.)

$_SERVER['REMOTE_ADDR'] 

i przypisuje go do zmiennej ~ $ip ~.

3. W sekcji body otwierasz skrypt php i za pomocą metody echo wypluwasz zawartość zmiennej do sekcji w której się znajduje , czyli body.

Efekt powyższego gotowca powinien owocować wypisaniem ip w lewym górnym rogu ekranu na białym tle.

Jeśli czego kolwiek nie wyjaśniłem pisz śmiało jeśli bedziesz chciał to wrzucać na serwer i nie będziesz wiedział jak to ci polecę kilka kursów i też pomogę ... Powodzenia !.

Cały skrypt pisany bez wcześniejszego testowania w razie problemu zgłaszać tego bubla ;)

-Jestem habilitowanym profesorem,magistrem, który nie umie zawiązać sobie butów.

-A ja jestem technikiem który daje ci prace.

Opublikowano
Czasami padają pytania : "Jak mogę za pomocą skryptu PHP pobrać i zapisać do pliku IP oglądających moją strone"

<code><?php
$fp=fopen("ip.txt", "a");
flock($fp, 2);
fwrite($fp, $_SERVER['REMOTE_ADDR']."n");
flock($fp, 3);
fclose($fp);
?> </code>

A jeśli chcesz aby nie tylko zapisywał IP to o to kod:


<code><?php  
$fp=fopen("ip.txt", "a");  
flock($fp, 2);  
fwrite($fp, $_SERVER['REMOTE_ADDR']."n");
//Adres IP
fwrite($fp, $_SERVER['HOSTNAME']."n");  
//Nazwa Komputera
fwrite($fp, $_SERVER['HTTP_USER_AGENT']."n");
//Zawarto¶ć nagłówka User Agent, wysyłanego przez przegl±darkę
fwrite($fp, $_SERVER['HTTP_HOST']."n");  
//Zawarto¶ć nagłówka Host
fwrite($fp, $_SERVER['SERVER_PROTOCOL']."n");  
//Nazwa i wersja protokołu
fwrite($fp, $_SERVER['GATEWAY_INTERFACE']."n");
//Wersja specyfikacji CGI, używanej przez serwer
fwrite($fp, $_SERVER['HOSTTYPE']."n");
//System operacyjny
fwrite($fp, $_SERVER['PATH']."n");  
//Systemowa scieżka serwera
fwrite($fp, $_SERVER['OSTYPE']."n");  
//System operacyjny
fwrite($fp, $_SERVER['PHP_SELF']."n");
fwrite($fp, $_SERVER['HTTP_COOKIE_VARS']."n");  
fwrite($fp, $_SERVER['HTTP_POST_VARS']."n");
fwrite($fp, $_SERVER['HTTP_GET_VARS']."n");
flock($fp, 3);  
fclose($fp);  
?>  </code>



Nie jest to mój skrypt, znalazłem w necie.

 

 

Ten kod jest całkiem ciekawy, przerobiłem go troszkę aby był bardziej uporządkowany, można dzięki temu łatwiej przeglądać w arkuszu kalkulacyjnym.

Codziennie tworzy nowy plik z datą, i dopisuje wszystkie te dane. Należy pamiętać aby zabezpieczyć folder, w którym będą przechowywane logi poprzez .htacess

np:

Order allow,deny
Deny from all

Należy utworzyć folder 'logi' w katalogu głównym, zapisać skrypt pod jakąś nazwą a do strony głównej dodać gdzieś na początku 

require_once "./jakaś nazwa.php";

Przerobiony skrypt:

<?php
$dataYMD = date('Y.m.d.'); // Dzisiejsza data
$godzinaHi = date('H:i'); // Aktualna godzina
$df = "logi/".$dataYMD."logi.txt"; //Ścieżka do pliku

if(!($fp=@fopen($df, "r"))) {  //Sprawdź czy istnieje plik
$fp=fopen("logi/".$dataYMD."logi.txt", "w"); //Utwórz plik jeśli nie istnieje i otwórz go
fwrite($fp, "Czas Adres IP Nazwa KOMP Naglowek UA Naglowek Host Protokol CGI Host Sciezka System PHP Ciastko POST GET \n");
} else
$fp=fopen("logi/".$dataYMD."logi.txt", "a"); //Dopisz do pliku

$wpis = $godzinaHi." ";  //Sygnatura czasowa
$wpis = $wpis.$_SERVER['REMOTE_ADDR']." "; //Adres IP
if (isset($_SERVER['HOSTNAME']))  //Nazwa Komputera
$wpis = $wpis.$_SERVER['HOSTNAME']." ";  // Jeśli istnieje dopisz do zmiennej 
else $wpis = $wpis.'Pusta '; // Jeśli nie istnieje dopisz 'Pusta'
if (isset($_SERVER['HTTP_USER_AGENT']))  //Zawartość nagłówka User Agent, wysyłanego przez przeglądarkę
$wpis = $wpis.$_SERVER['HTTP_USER_AGENT']." ";  
else $wpis = $wpis.'Pusta ';
if (isset($_SERVER['HTTP_HOST']))  //Zawartość nagłówka Host
$wpis = $wpis.$_SERVER['HTTP_HOST']." "; 
else $wpis = $wpis.'Pusta ';
if (isset($_SERVER['SERVER_PROTOCOL']))  //Nazwa i wersja protokołu
$wpis = $wpis.$_SERVER['SERVER_PROTOCOL']." "; 
else $wpis = $wpis.'Pusta ';
if (isset($_SERVER['GATEWAY_INTERFACE']))  //Wersja specyfikacji CGI, używanej przez serwer
$wpis = $wpis.$_SERVER['GATEWAY_INTERFACE']." "; 
else $wpis = $wpis.'Pusta ';
if (isset($_SERVER['HOSTTYPE']))  //Host
$wpis = $wpis.$_SERVER['HOSTTYPE']." "; 
else $wpis = $wpis.'Pusta ';
if (isset($_SERVER['PATH']))  //Systemowa ścieżka serwera
$wpis = $wpis.$_SERVER['PATH']." "; 
else $wpis = $wpis.'Pusta ';
if (isset($_SERVER['OSTYPE']))  //System operacyjny
$wpis = $wpis.$_SERVER['OSTYPE']." "; 
else $wpis = $wpis.'Pusta '; 
if (isset($_SERVER['PHP_SELF']))  //Odwiedzona strona
$wpis = $wpis.$_SERVER['PHP_SELF']." "; 
else $wpis = $wpis.'Pusta ';
if (isset($_SERVER['HTTP_COOKIE_VARS']))  //Ciastko
$wpis = $wpis.$_SERVER['HTTP_COOKIE_VARS']." "; 
else $wpis = $wpis.'Pusta ';
if (isset($_SERVER['HTTP_POST_VARS']))  //Zmienna POST
$wpis = $wpis.$_SERVER['HTTP_POST_VARS']." "; 
else $wpis = $wpis.'Pusta ';
if (isset($_SERVER['HTTP_GET_VARS']))  //Zmienna GET
$wpis = $wpis.$_SERVER['HTTP_GET_VARS']."\n"; 
else $wpis = $wpis."Pusta\n";


flock($fp, 2); 

fwrite($fp, $wpis);  //Zapisanie zmiennej do pliku

flock($fp, 3); 
fclose($fp); //Zamkniecie pliku
?>

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...