ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

29.01.2009, 07:21
|
|
Участник форума
Регистрация: 27.10.2008
Сообщений: 244
Провел на форуме: 963613
Репутация:
428
|
|
правда что то в голову не лезет как сделать отбор лишних айпишников
array_unique например.
|
|
|

29.01.2009, 07:23
|
|
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
Провел на форуме: 5749763
Репутация:
1680
|
|
спс, желательно пример с реализацией...
|
|
|

29.01.2009, 07:43
|
|
Участник форума
Регистрация: 27.10.2008
Сообщений: 244
Провел на форуме: 963613
Репутация:
428
|
|
ip.php
PHP код:
<?php
header('Content-type: text/plain;charset=UTF-8');
$log = 'log.dat';
$time = time();
$fp = fopen($log, 'a');
fputs($fp, "{$_SERVER['REMOTE_ADDR']}:{$time}\n");
fclose($fp);
$ips = file($log);
$print = $time = array();
foreach($ips as $ip)
{
list($_ip, $_time) = explode(':', trim($ip));
$print[$_ip] = $_ip;
$time[$_ip] = $_time;
}
$max_time = time() - 300;
$print = array_reverse($print);
foreach($print as $ip)
{
if($time[$ip] > $max_time) echo $ip, ' посетил страницу в ', date('h:i:s', $time[$ip]), "\n";
}
?>
Посмотри тут http://stas.me/ip.php
log.dat
Код:
127.0.0.1:1234567890
127.0.0.2:1234567890
127.0.0.3:1234567890
127.0.0.4:1234567890
127.0.0.1:1234567890
127.0.0.2:1234567890
127.0.0.4:1234567890
127.0.0.5:1234567890
127.0.0.1:1234567890
127.0.0.5:1234567890
127.0.0.5:1234567890
127.0.0.6:1234567890
127.0.0.8:1234567890
127.0.0.5:1234567890
127.0.0.3:1234567890
127.0.0.2:1234567890
|
|
|

07.05.2009, 20:05
|
|
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
Провел на форуме: 5749763
Репутация:
1680
|
|
Сообщение от bombeg
ip.php
PHP код:
<?php
$log = 'log.dat';
$time = time();
$ips = file($log);
$print = $time = array();
foreach($ips as $ip)
{
list($_ip, $_time) = explode(':', trim($ip));
$print[$_ip] = $_ip;
$time[$_ip] = $_time;
}
$max_time = time() - 300;
$print = array_reverse($print);
foreach($print as $ip)
{
if($time[$ip] > $max_time) echo $ip, ' посетил страницу в ', date('h:i:s', $time[$ip]), "\n";
}
?>
Помогите плиз разобраться с кодом, сам к сожалению не могу.
В файле log.dat содержится данные IP:дата
Даный код получает инфу из файла и выводит на экран айпишники + последнюю дату. При этом отсеивает похожие айпи адреса (чтобы одинаковых не выводилось) и выводит только те которые были активны за последние 5 минут (сверяет по дате)
Пример файла log.dat :
127.0.0.1:1234567890
127.0.0.2:1234567890
127.0.0.3:1234567890
127.0.0.4:1234567890
127.0.0.1:1234567890
Теперь-же в файле log.dat добавилось 2 новых параметра, и инфа выглядит так:
127.0.0.1:1234567890:randominfa1:randominfa2
127.0.0.2:1234567890:randominfa1:randominfa2
32.60.32.60:1234567890:randominfa1:randominfa2
127.0.0.4:1234567890:randominfa1:randominfa2
32.60.32.60:1234567890:randominfa1:randominfa2
В данном коде надо подправить вывод 3 и 4 параметров на экран, чтобы они выводились вместе с айпишниками.
Но к сожалению мне не понятно где в этом коде первый параметр, а где второй.
я банально сделал вот такую подправку:
Код:
list($_ip, $_time, $_cid, $_nat) = explode(':::', trim($ip));
$print[$_ip] = $_ip;
$print[$_cid] = $_cid;
$print[$_nat] = $_nat;
$time[$_ip] = $_time;
Дальше юзал:
echo $ip.$_nat, ' посетил страницу в ', date('h:i:s', $time[$ip]), "\n";
И это даже на первый взгляд заработало, но как оказалось последние 2 параметра в этом случае он абсолютно рандомно выводит, а надо чтобы выводил параметры пренадлежащие этой лини (ip адресу).
В общем кто сможет, помогите разобраться...
|
|
|

08.05.2009, 01:14
|
|
Флудер
Регистрация: 20.11.2006
Сообщений: 3,316
Провел на форуме: 16641028
Репутация:
2371
|
|
Сообщение от Nightmarе
Помогите плиз разобраться с кодом, сам к сожалению не могу.
В файле log.dat содержится данные IP:дата
Даный код получает инфу из файла и выводит на экран айпишники + последнюю дату. При этом отсеивает похожие айпи адреса (чтобы одинаковых не выводилось) и выводит только те которые были активны за последние 5 минут (сверяет по дате)
Пример файла log.dat :
127.0.0.1:1234567890
127.0.0.2:1234567890
127.0.0.3:1234567890
127.0.0.4:1234567890
127.0.0.1:1234567890
Теперь-же в файле log.dat добавилось 2 новых параметра, и инфа выглядит так:
127.0.0.1:1234567890:randominfa1:randominfa2
127.0.0.2:1234567890:randominfa1:randominfa2
32.60.32.60:1234567890:randominfa1:randominfa2
127.0.0.4:1234567890:randominfa1:randominfa2
32.60.32.60:1234567890:randominfa1:randominfa2
В данном коде надо подправить вывод 3 и 4 параметров на экран, чтобы они выводились вместе с айпишниками.
Но к сожалению мне не понятно где в этом коде первый параметр, а где второй.
я банально сделал вот такую подправку:
Код:
list($_ip, $_time, $_cid, $_nat) = explode(':::', trim($ip));
$print[$_ip] = $_ip;
$print[$_cid] = $_cid;
$print[$_nat] = $_nat;
$time[$_ip] = $_time;
Дальше юзал:
echo $ip.$_nat, ' посетил страницу в ', date('h:i:s', $time[$ip]), "\n";
И это даже на первый взгляд заработало, но как оказалось последние 2 параметра в этом случае он абсолютно рандомно выводит, а надо чтобы выводил параметры пренадлежащие этой лини (ip адресу).
В общем кто сможет, помогите разобраться...
PHP код:
list($_ip, $_time, $_rnd1, $_rnd2) = explode(':', trim($ip));
$print[$_ip] = $_ip;
$time[$_ip] = $_time;
$print[$_rnd1] = $_rnd1;
$print[$_rnd2] = $_rnd2;
Последний раз редактировалось Isis; 08.05.2009 в 01:22..
|
|
|

29.01.2009, 07:47
|
|
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
Провел на форуме: 5749763
Репутация:
1680
|
|
Огромное спасибо!!!!!!!!!!!!!!!
$max_time = time() - 300;
я не знаю что это, но догадываюсь что фильтрация кто был 5 минут назад не более, верно?
|
|
|

29.01.2009, 07:49
|
|
Участник форума
Регистрация: 27.10.2008
Сообщений: 244
Провел на форуме: 963613
Репутация:
428
|
|
да.
|
|
|

29.01.2009, 22:11
|
|
Участник форума
Регистрация: 12.03.2008
Сообщений: 254
Провел на форуме: 12333903
Репутация:
238
|
|
Вопшем проблема с росчётом времени от старта скрипта и до конца,вопшем нужно сделать чтобы отсчитывалось от начала роботы скрипта и до конца с часами,минутами и секундами,вот уже битый час с знакомым сидим,и никак не допрем...как ето сделать?
Просьба тем кто помогеть собрался учесть,что есле брать значение секунд,минут и часов роздельно (каждая в совей переменной) то неполучается изза того что после того как прошла одна минута,то значение секунд станет нолевым,и тогда будет отниматся значение времени того что в начале скрипта было от 0 уже....И есчё,есле брать в одной переменной ЧасМинСек и в конце так же,и отнимать,то тоже не получится потому что секунд и минут максимум 60 же,а не 100... тогда лишних 40 сек получается есле значение больше минуты,плиз,помогите....
|
|
|

29.01.2009, 22:28
|
|
Участник форума
Регистрация: 31.07.2008
Сообщений: 207
Провел на форуме: 299231
Репутация:
107
|
|
Да придет time() и date() вам в помощь! Пошерудите поиск по мануалам. Так как год нам наф не нужен, лишних проблем не будет.
___
OFFTP:
Педставляю, как вы там уже час думаете - вся комнатушка в дыму, на столе гора окурков, а на монике - только <? ?> =)
|
|
|

29.01.2009, 22:53
|
|
Banned
Регистрация: 06.04.2008
Сообщений: 107
Провел на форуме: 890872
Репутация:
127
|
|
Сообщение от vikseriq
Да придет time() и date() вам в помощь! Пошерудите поиск по мануалам. Так как год нам наф не нужен, лишних проблем не будет.
___
OFFTP:
Педставляю, как вы там уже час думаете - вся комнатушка в дыму, на столе гора окурков, а на монике - только <? ?> =)
Тыбы билять заткнул вонялку то,а.
ТЫ головой подумай,что тиме,что дате,ничего не помогает.Как ебе объяснить то...я сам очень долго догонял объяснения автора....в асику.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|