PDA

Просмотр полной версии : Помогите разобратся с снифером для определения ip


Berg25
21.05.2009, 13:09
Уважаемые Модераторы Solide Snake, scrat, .:EnoT:., Sharky, _Great_
Не кричите на меня, я тупой и тут не давно.
Вобщем проблема такая: есть место на бесплатном хосте с поддержкой PHP, моя цель: кинуть ссылку на главную страничку какому нибудь пользователю, пользователь проходит, и его IP записывается в текстовый лог. Вот так вот, а ума нету у меня(
находил скрипты php вставлял в тело главной странички, но ничего не получается, при открытии страницы виден код который вставил(
Если кому не сложно, помогите примером конкретным.
вт скрин корневой папки обьясните что куда в какой файл прописывать:http://s52.radikal.ru/i137/0905/c9/09c7493b6d1a.jpg

csrss
21.05.2009, 13:51
Пользователя должно направлять на ПХП файл в котором пишеш:

<?php
function getAddr(){
if (!empty($_SERVER['HTTP_CLIENT_IP'])){
$ip=$_SERVER['HTTP_CLIENT_IP'];}
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}else{$ip=$_SERVER['REMOTE_ADDR'];}
return $ip;}

$user_ip = getAddr();

$file = fopen("ip.txt","w+");
fwrite($file,$user_ip);
fclose($file);
}


на ip.txt ставишь права на запись, т.е. chmod ip.txt 777.
И всё.

Berg25
21.05.2009, 14:56
Спасибо, сейчас попробую!

Berg25
21.05.2009, 15:16
Неа(( не получается(( если можно то подробней, вот этот код в какой файл вписать?
<?php
function getAddr(){
if (!empty($_SERVER['HTTP_CLIENT_IP'])){
$ip=$_SERVER['HTTP_CLIENT_IP'];}
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}else{$ip=$_SERVER['REMOTE_ADDR'];}
return $ip;}

$user_ip = getAddr();

$file = fopen("ip.txt","w+");
fwrite($file,$user_ip);
fclose($file);
}
в код главной странички что на скрине (index.html)
или вписать в файл что на скрине (0144887.php)???
пробывал и так и так не получается(
так же как и сказал ты создал ip.txt поставил права 777
извините меня за тупость мою)))

csrss
21.05.2009, 15:58
Смотри, создаёшь 3 фаила: ip.php, ip.txt, index.html
Вышепредставленный мною код записываеш в файл ip.php
Теперь ставь прова на запись для ip.txt, я на винде сто лет этого не делал, и не помню уже чё то там в total commander есть такая опция, ну кароче чтоб пхп скрипт мог писать в текстовый файл. A в index.html пиши следующее:

<script>location="ip.php"</script>

что и закинет юзера на твой ip.php когда он посетит главную страницу.

P.S. в конце кода поставь "}" а то я забыл.

Ru}{eeZ
21.05.2009, 16:00
между <?php и ?> находится php-код, если ты вставляешь в файл, в котором уже есть код, то вставь например перед ?>:


<?php
//Код твоего файла
function getAddr(){
if (!empty($_SERVER['HTTP_CLIENT_IP'])){
$ip=$_SERVER['HTTP_CLIENT_IP'];}
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}else{$ip=$_SERVER['REMOTE_ADDR'];}
return $ip;}

$user_ip = getAddr();

$file = fopen("ip.txt","w+");
fwrite($file,$user_ip);
fclose($file);
}
?>

п.с. скопипасил код csrss

Berg25
21.05.2009, 16:56
Ну все так и сделал, проверяю, да, сначала вижу что грузится траничка потом происходит переадресация на IP.php и просто белая страничка, вроде все так и должно, но когда проверяю IP.TXT там пусто.
в чем может быть причина?

Pernat1y
21.05.2009, 17:20
проверь, есть-ли права на запись в ip.txt
и еще. юних регистрозависимый, тоесть IP.txt и ip.txt - разные файлы

csrss
21.05.2009, 17:23
----------[ip.php ]--------

<?php
function getAddr(){
if (!empty($_SERVER['HTTP_CLIENT_IP'])){
$ip=$_SERVER['HTTP_CLIENT_IP'];}
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}else{$ip=$_SERVER['REMOTE_ADDR'];}
return $ip;
}

$uip = getAddr();
echo $uip;
chmod("ip.txt", 755);
$file = fopen("ip.txt","a+");
fwrite($file,$uip);
fclose($file);
?>
-------------[cut]-----------------

тока что на своём серваке проверял, работает отлично

Berg25
21.05.2009, 19:09
csrss да, работает, открываю и показывает на главной страничке мой ip но я же хочу что бы сохранялся ip в ip.txt но этого нет( права уже ставил 777 и пробывал как в в самом ip.php твоем поставить не chmod("ip.txt", 755); а поставить
chmod("ip.txt", 777);
всеравно не пишет в ip.txt
я пользуюсь бесплатным хостом phpnet.us может другой попробывать? посоветуйте какой

Berg25
21.05.2009, 19:42
IP отображается на странице но получается что вот вторая часть кода
$uip = getAddr();
echo $uip;
chmod("ip.txt", 755);
$file = fopen("ip.txt","a+");
fwrite($file,$uip);
fclose($file);
открытие ip.txt и запись в него не выполняется, да можно подумать что разрешение не выставлено, но все поставил(((

KentPol
22.05.2009, 00:09
http://slil.ru/27680672
Скачивай архив, распаковывай и ставь на сервер.
chmod 777 ip.txt.

Berg25
22.05.2009, 01:41
http://slil.ru/27680672
Скачивай архив, распаковывай и ставь на сервер.
chmod 777 ip.txt.
УРААА!!! все работает!!!!
Спасибо всем кто помогал!!!
и отдельное спасибо KentPol!!!