Спустя 4 минуты, 15 секунд (29.06.2011 - 09:08) nugle написал(а):
Dazl
он фиксируется по ip, записывай ip в бд и поставь, чтобы база очищалась каждый день, потом считай кол-во строк в БД. Могу кинуть на файлах скрипт
он фиксируется по ip, записывай ip в бд и поставь, чтобы база очищалась каждый день, потом считай кол-во строк в БД. Могу кинуть на файлах скрипт
Спустя 4 минуты, 11 секунд (29.06.2011 - 09:12) alex12060 написал(а):
Dazl
С тебя полтос, напишу )
С тебя полтос, напишу )
Спустя 1 минута, 7 секунд (29.06.2011 - 09:13) Dazl написал(а):
nugle А написать сюда. можно?
Спустя 8 минут, 59 секунд (29.06.2011 - 09:22) nugle написал(а):
Ток пути к своим файлам проставь.
alex12060, сорь что не дал заработать)
<?php
function del($file)
{
$fp = fopen ($file, "a" );
ftruncate ($fp, 0);
fclose ($fp);
}
$file = 'counter.txt';
$flag = true;
if(file_exists($file))
{
$time = file_get_contents('time.txt');
if(date('H:i:s') >= '17:49:00' and $time <= '17:49:00')
{
del($file);
del('time.txt');
}
else
{
$arr = file_get_contents($file);
$arr = trim($arr, "&");
$arr = explode("&", $arr);
if(!in_array($_SERVER['REMOTE_ADDR'], $arr))
file_put_contents($file, $_SERVER['REMOTE_ADDR'] ."&", FILE_APPEND);
}
count($arr);
del('time.txt');
file_put_contents('time.txt', date("H:i:s"), FILE_APPEND);
}
alex12060, сорь что не дал заработать)
Спустя 4 минуты, 30 секунд (29.06.2011 - 09:26) alex12060 написал(а):
nugle
А если я пусщу бота, который будет обновлять странцу по тысяче раз в пол часа, то за сутки у тебя такой счетчик будет, ты удивишься Оо
И результаты будут не правильные) Поэтому, смотри в сторону унификации доступа.
если там у тебя такое реализовано, то пардон
А если я пусщу бота, который будет обновлять странцу по тысяче раз в пол часа, то за сутки у тебя такой счетчик будет, ты удивишься Оо
И результаты будут не правильные) Поэтому, смотри в сторону унификации доступа.
если там у тебя такое реализовано, то пардон
Спустя 1 минута, 7 секунд (29.06.2011 - 09:28) nugle написал(а):
alex12060
че за унификация доступа? а у него по тысячи раз в час меняется ip?
че за унификация доступа? а у него по тысячи раз в час меняется ip?
Спустя 2 минуты, 15 секунд (29.06.2011 - 09:30) Dazl написал(а):
alex12060 Вот как раз и хотел спросить как зделать так чтоб фиксировался 1 доступ в день с одного пользователя ))
nugle А почему в файл? нельзя в базу?
nugle А почему в файл? нельзя в базу?
Спустя 5 минут, 45 секунд (29.06.2011 - 09:36) nugle написал(а):
Dazl
ну потому, что скрипт заказывали на файлы, ну я и сделал на файлы, так в БД тоже самое, просто переделай не много
ну потому, что скрипт заказывали на файлы, ну я и сделал на файлы, так в БД тоже самое, просто переделай не много
Спустя 7 секунд (29.06.2011 - 09:36) alex12060 написал(а):
nugle
Допустим, у моего бота IP - 72.225.12.33
Вот твой каунтер -
Там 52 записи.
Я пускаю своего бота с частотой обновления 100 раз в 5 минут.
В итоге, за час у тебя лог примерно такой:
И каждые 5 минут он увеличивается на 100 однотипных ИП.
Унификация - исключение повторяющихся значений из данного списка значений.
Можно сделать не жесткую унификацию, а, допустим раз в пол часа.
Допустим, у моего бота IP - 72.225.12.33
Вот твой каунтер -
42.94.112.1 - 12:00:13
66.5.113.44 - 12:43:07
92.160.1.34 - 12:44:55
...
Там 52 записи.
Я пускаю своего бота с частотой обновления 100 раз в 5 минут.
В итоге, за час у тебя лог примерно такой:
72.225.12.33
72.225.12.33
72.225.12.33
72.225.12.33
72.225.12.33
72.225.12.33
72.225.12.33
72.225.12.33
72.225.12.33
92.160.1.34
72.225.12.33
72.225.12.33
72.225.12.33
72.225.12.33
98.10.56.200
72.225.12.33
72.225.12.33
72.225.12.33
72.225.12.33
...
И каждые 5 минут он увеличивается на 100 однотипных ИП.
Унификация - исключение повторяющихся значений из данного списка значений.
Можно сделать не жесткую унификацию, а, допустим раз в пол часа.
Спустя 1 минута, 51 секунда (29.06.2011 - 09:38) nugle написал(а):
alex12060
так это же есть у меня в коде?!
так это же есть у меня в коде?!
Спустя 40 секунд (29.06.2011 - 09:38) Dazl написал(а):
nugle Ок спасибо! так что там с 1000 обновлением IP? это мне грозит?
Спустя 58 секунд (29.06.2011 - 09:39) alex12060 написал(а):
nugle
Все, вижу. Да Молодец
Все, вижу. Да Молодец
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Спустя 3 минуты, 6 секунд (29.06.2011 - 09:42) Dazl написал(а):
nugle
Объесни подробно что этот код будет делать я в php новичёк и в этом коде 50% не понимаю
Объесни подробно что этот код будет делать я в php новичёк и в этом коде 50% не понимаю
Спустя 2 минуты, 52 секунды (29.06.2011 - 09:45) nugle написал(а):
Извини сейчас некогда, убегаю, приду прокомментирую код
ну или попроси alex
ну или попроси alex
Спустя 1 минута, 21 секунда (29.06.2011 - 09:46) Dazl написал(а):
alex12060
будь человеком ))))
будь человеком ))))
Спустя 6 минут, 52 секунды (29.06.2011 - 09:53) alex12060 написал(а):
Dazl
Ну что? Если не понимаешь, сделай как я раньше - перепиши все функции, которые видишь там на листок, почитай о них в гугле и потом уже .с листком, пробуй понять, что там происходит.
А вообще, там все элементарно, поэтому, попробуй просто использовать для начала, и разобраться по ходу дела.
Ну что? Если не понимаешь, сделай как я раньше - перепиши все функции, которые видишь там на листок, почитай о них в гугле и потом уже .с листком, пробуй понять, что там происходит.
А вообще, там все элементарно, поэтому, попробуй просто использовать для начала, и разобраться по ходу дела.
Спустя 4 минуты, 11 секунд (29.06.2011 - 09:58) Dazl написал(а):
Да я так и делаю обычно но всегда находиться какая-то каманда которую я не пойму тупо или алгоритм действия.
if(!in_array($_SERVER['REMOTE_ADDR'], $arr))
file_put_contents($file, $_SERVER['REMOTE_ADDR'] ."&", FILE_APPEND);
что здесь происходит?
if(!in_array($_SERVER['REMOTE_ADDR'], $arr))
file_put_contents($file, $_SERVER['REMOTE_ADDR'] ."&", FILE_APPEND);
что здесь происходит?
Спустя 10 минут, 25 секунд (29.06.2011 - 10:08) inpost написал(а):
А что именно непонятно? Что мануал говорит про эти переменные и функции? Зацитируй что делает функция и скажи, что именно тебе не понятно в данном случае!
Спустя 3 минуты, 34 секунды (29.06.2011 - 10:12) Dazl написал(а):
На предыдущей странице мне написали код который отсчитывает количество поситителей на сайт. В приципе со всем я разобрался, единственно не пойму
if(!in_array($_SERVER['REMOTE_ADDR'], $arr))
file_put_contents($file, $_SERVER['REMOTE_ADDR'] ."&", FILE_APPEND);
для начала скажи что делает $_SERVER['REMOTE_ADDR']
я знаю такие запросы как $_POST $_GET а вот что делает $_SERVER?
if(!in_array($_SERVER['REMOTE_ADDR'], $arr))
file_put_contents($file, $_SERVER['REMOTE_ADDR'] ."&", FILE_APPEND);
для начала скажи что делает $_SERVER['REMOTE_ADDR']
я знаю такие запросы как $_POST $_GET а вот что делает $_SERVER?
Спустя 25 секунд (29.06.2011 - 10:12) Игорь_Vasinsky написал(а):
Dazl
Читай мануалы.
Читай мануалы.
Цитата |
if(!in_array($_SERVER['REMOTE_ADDR'], $arr)) |
если нет IP (REMOTE_ADDR) в массиве $arr (видимо данные файла)
Цитата |
file_put_contents($file, $_SERVER['REMOTE_ADDR'] ."&", FILE_APPEND); |
считать файл и добавить IP в конец файла
Спустя 1 минута, 46 секунд (29.06.2011 - 10:14) Игорь_Vasinsky написал(а):
Dazl
$_SERVER - суперглобальный массив и в интернете о нём стока написано, что можно любить твороженные булочки, какой он популярный и известный.
не превращайся в тролля, есть гугл. здесь люди делом занимаются, для таких вещей есть поиск и мануалы.
$_SERVER - суперглобальный массив и в интернете о нём стока написано, что можно любить твороженные булочки, какой он популярный и известный.
не превращайся в тролля, есть гугл. здесь люди делом занимаются, для таких вещей есть поиск и мануалы.
Спустя 1 минута, 39 секунд (29.06.2011 - 10:15) bulgakov написал(а):
Гм а может проще будет сделать через сессии?
Спустя 2 минуты, 31 секунда (29.06.2011 - 10:18) Dazl написал(а):
Игорь_Vasinsky Ну не начина пжалуста так хор шли. я пользуюсь поисковиком яначе я бы не смогбы учить php ну вот бывают вопросы которые не спросишь у статьи.
скажи что делает этот суперглобальный массив
REMOTE_ADDR это IP посетителя? или что?
скажи что делает этот суперглобальный массив
REMOTE_ADDR это IP посетителя? или что?
Спустя 7 минут, 56 секунд (29.06.2011 - 10:26) walerus написал(а):
Dazl Не, ну ты вот реально отжигаешь уже не в первый раз, как ты пользуешься поиском и где ты что читаешь, я честно говоря хз...
Не судьба туда заглянуть?, занеси себе этот сайт в закладки, сочетанием клавиш - Ctrl + D.
P.S. - Плюс нажимать не нада
Свернутый текст
Не судьба туда заглянуть?, занеси себе этот сайт в закладки, сочетанием клавиш - Ctrl + D.
P.S. - Плюс нажимать не нада
![cool.gif](http://phpforum.ru/html/emoticons/cool.gif)
Спустя 3 минуты, 44 секунды (29.06.2011 - 10:30) Dazl написал(а):
О-о спасибо я только оттуда ))
плюсь я нажал бы да лимит исчерпал (
плюсь я нажал бы да лимит исчерпал (
Спустя 15 минут, 59 секунд (29.06.2011 - 10:46) inpost написал(а):
Dazl
опачки, я не знаю, что такое $_SERVER.... аааа, что делать? аааа, может в гугл заглянуть... а что писать? Люди подскажите, правильно ли в гугле написать $_SERVER, когда я хочу узнать, что это такое... вуаля, первая ссылка на softtime... как всё подробно расписано...
опачки, я не знаю, что такое $_SERVER.... аааа, что делать? аааа, может в гугл заглянуть... а что писать? Люди подскажите, правильно ли в гугле написать $_SERVER, когда я хочу узнать, что это такое... вуаля, первая ссылка на softtime... как всё подробно расписано...
Спустя 22 минуты, 1 секунда (29.06.2011 - 11:08) Dazl написал(а):
inpost
я надеюсь тебе стало легче
я надеюсь тебе стало легче
Спустя 26 минут, 24 секунды (29.06.2011 - 11:34) inpost написал(а):
Ну как можно так тупить... первая ссылка в гугле:
Элемент $_SERVER['REMOTE_ADDR']
В элемент $_SERVER['REMOTE_ADDR'] помещается IP-адрес клиента. При тестировании на локальной машине — этот адрес будет равен 127.0.0.1. Однако при тестировании в сети переменная вернёт IP-адрес клиента или последнего прокси-сервера через который клиент попал на сервер. Если клиент использует прокси-сервер узнать его IP-адрес можно при помощи переменной окружения HTTP_X_FORWARDED_FOR, значение которой можно получить при помощи функции getenv().
И вопрос за ним следом: для начала скажи что делает $_SERVER['REMOTE_ADDR']? И ты ещё утверждаешь, что ты пользуешься гуглом?
Элемент $_SERVER['REMOTE_ADDR']
В элемент $_SERVER['REMOTE_ADDR'] помещается IP-адрес клиента. При тестировании на локальной машине — этот адрес будет равен 127.0.0.1. Однако при тестировании в сети переменная вернёт IP-адрес клиента или последнего прокси-сервера через который клиент попал на сервер. Если клиент использует прокси-сервер узнать его IP-адрес можно при помощи переменной окружения HTTP_X_FORWARDED_FOR, значение которой можно получить при помощи функции getenv().
И вопрос за ним следом: для начала скажи что делает $_SERVER['REMOTE_ADDR']? И ты ещё утверждаешь, что ты пользуешься гуглом?
Спустя 31 минута, 35 секунд (29.06.2011 - 12:06) Dazl написал(а):
Ок я всё уже узнал но тут другой вопрос поевился
В ранее написаном примере (по определению количесива поситителе) есть такая строчка
file_put_contents($file, $_SERVER['REMOTE_ADDR'] ."&", FILE_APPEND);
когда я в Денвере тестирую весь код всё работает, а когда закидываю на хост грит Ошибка вызова функции file_put_contents и указывает на ЭТУ сточку
в чём дело?
В ранее написаном примере (по определению количесива поситителе) есть такая строчка
file_put_contents($file, $_SERVER['REMOTE_ADDR'] ."&", FILE_APPEND);
когда я в Денвере тестирую весь код всё работает, а когда закидываю на хост грит Ошибка вызова функции file_put_contents и указывает на ЭТУ сточку
в чём дело?
Спустя 2 минуты, 36 секунд (29.06.2011 - 12:08) Invis1ble написал(а):
Цитата |
Ошибка вызова функции file_put_contents |
Прям так на русском и пишет?
Спустя 1 минута, 12 секунд (29.06.2011 - 12:09) Dazl написал(а):
Fatal error: Call to undefined function: file_put_contents() in /home/d/dixcn.hut1.ru/WWW/chit.php on line 28
так понятнее?
так понятнее?
Спустя 57 секунд (29.06.2011 - 12:10) Invis1ble написал(а):
Цитата |
так понятнее? |
да
переведи, что значит Fatal error: Call to undefined function: file_put_contents()
Спустя 1 минута, 37 секунд (29.06.2011 - 12:12) Dazl написал(а):
Ну так чё он хоч в Денвере всё по маслу а тут...
Спустя 35 секунд (29.06.2011 - 12:12) Dazl написал(а):
Фатальная ошибка : Звонок в неопределенную функцию: file_put_contents () в / home/d/dixcn.hut1.ru/WWW/chit.php на линии 28
Спустя 3 минуты, 18 секунд (29.06.2011 - 12:16) Invis1ble написал(а):
Dazl
имеется в виду не звонок, а вызов. Т.е. вызывается неопределенная ф-я, спроси у техподдержки, почему функция не поддерживается
имеется в виду не звонок, а вызов. Т.е. вызывается неопределенная ф-я, спроси у техподдержки, почему функция не поддерживается
Спустя 44 секунды (29.06.2011 - 12:16) Dazl написал(а):
Так это хост виноват !?!?!?!?!
Спустя 17 секунд (29.06.2011 - 12:17) Invis1ble написал(а):
ну не я же
Спустя 1 минута, 49 секунд (29.06.2011 - 12:19) Dazl написал(а):
Кались фашист это ты напартачил ))) спасиб
Спустя 38 минут, 2 секунды (29.06.2011 - 12:57) Dazl написал(а):
Люди посетитель заходящий на сайт всегда имеет оди-и тот же IP или он меняеться в зависимости от чего-то?
Спустя 3 минуты, 20 секунд (29.06.2011 - 13:00) Invis1ble написал(а):
Цитата |
посетитель заходящий на сайт всегда имеет оди-и тот же IP |
необязательно
Спустя 14 минут, 33 секунды (29.06.2011 - 13:15) Dazl написал(а):
А как тогда фиксируеться зарегестрированныё посетитель?
Спустя 16 минут, 46 секунд (29.06.2011 - 13:31) inpost написал(а):
Dazl
А никак. Есть статичные, а есть динамичные IP. У меня на протяжении 8 лет был динамичный, меня невозможно отловить было. Сейчас стал статичным, но теперь я знаю про разные сервисы, которые позволяют подменять ай-пишники, так что стало ещё печальнее.
Фиксируются не только по ай-пи, но ещё мыло. Но смотри, это для дешевых сайтов, банк или гугл, допустим, использует активацию через мобилку. Уникальный номер, высылается код активации аккаунта. Такие сервисы типо Хабрахабр и торренты - по приглашениям от других пользователей
А никак. Есть статичные, а есть динамичные IP. У меня на протяжении 8 лет был динамичный, меня невозможно отловить было. Сейчас стал статичным, но теперь я знаю про разные сервисы, которые позволяют подменять ай-пишники, так что стало ещё печальнее.
Фиксируются не только по ай-пи, но ещё мыло. Но смотри, это для дешевых сайтов, банк или гугл, допустим, использует активацию через мобилку. Уникальный номер, высылается код активации аккаунта. Такие сервисы типо Хабрахабр и торренты - по приглашениям от других пользователей
Спустя 12 минут, 39 секунд (29.06.2011 - 13:44) Dazl написал(а):
Ясно. Но я имел введу обычную регитсрация допустим как на этом майте зерегался а потом заходишь и зайти мож тока под своим аккаунтом
Спустя 5 минут, 31 секунда (29.06.2011 - 13:49) YVSIK написал(а):
inpost
Цитата |
Сейчас стал статичным, но теперь я знаю про разные сервисы, которые позволяют подменять ай-пишники, так что стало ещё печальнее. |
у меня ip статичный
и таким образом я набанил ажнак 9 долларов у гугла
подменой своего IP в конце мен это-занятие надоело
а потом и ему тоже гуглу
он меня как-то вычислил и снес и доллары и акаунт
как он это сделал правда не сказал
да я и не настаивал
![rolleyes.gif](http://phpforum.ru/html/emoticons/rolleyes.gif)
Спустя 2 минуты, 31 секунда (29.06.2011 - 13:52) DeeKeiD написал(а):
Звонок в неопределенную функцию :D :lol: :D :lol: жжош!
Простой варриант на mysql с проверкой на уникальность IP Адреса
Простой варриант на mysql с проверкой на уникальность IP Адреса
Свернутый текст
<?php
/* Получаем IP Адрес пользователя */
$userIP = isset($_SERVER['REMOTE_ADDR'])?$_SERVER['REMOTE_ADDR']:NULL;
/* Проверяем наличие IP адреса в базе */
$total_records = mysql_num_rows(mysql_query(("SELECT `id` FROM `counter` WHERE `ip` = '". $userIP ."'"));
/* Если записей в базе меньше 1 записываем IP в базу */
if($total_records < 1)
{
mysql_query("INSERT INTO `counter` (ip) VALUES ('". $userIP ."')") or die(mysql_error());
}
/* Если записей больше 1 ничего не делаем */
else
{
NULL;
}
?>
Спустя 13 минут, 33 секунды (29.06.2011 - 14:06) inpost написал(а):
Dazl
Ну я тебе про это и говорил. К тому же у 10 человек может быть 1 общий IP =)
Ну я тебе про это и говорил. К тому же у 10 человек может быть 1 общий IP =)
Спустя 5 минут, 5 секунд (29.06.2011 - 14:11) Dazl написал(а):
Короче нечего серьёзного под это делать нельзя?
Спустя 7 минут, 30 секунд (29.06.2011 - 14:18) inpost написал(а):
Dazl
Аналитические данные собирать. Банить навсегда мелких тролей со статичным ай-пи, либо один из способом блокировки доступа. Нет идеального способа, поэтому для блокировки используют несколько способов одновременно.
Аналитические данные собирать. Банить навсегда мелких тролей со статичным ай-пи, либо один из способом блокировки доступа. Нет идеального способа, поэтому для блокировки используют несколько способов одновременно.
Спустя 33 минуты, 3 секунды (29.06.2011 - 14:51) Dazl написал(а):
Ясно
Спустя 1 час, 21 минута, 35 секунд (29.06.2011 - 16:13) RCuPeR написал(а):
Не читал все, что выше, было впадло. Выложу свои вариант.
<?
$ip = $_SERVER['REMOTE_ADDR'];
$time = time();
$minutes = 15;
$found = 0;
$users = 0;
$user = '';
$tmpdata = $_SERVER['DOCUMENT_ROOT']."/data";
if (!is_file("$tmpdata/online.txt"))
{
$s = fopen("$tmpdata/online.txt","w");
fclose($s);
chmod("$tmpdata/online.txt",0666);
}
$f = fopen("$tmpdata/online.txt","r+");
flock($f,2);
while (!feof($f))
{
$user[] = rtrim(fgets($f,65536));
}
fseek($f,0,SEEK_SET);
ftruncate($f,0);
foreach ($user as $line)
{
list($savedip,$savedtime) = split("\|",$line);
if ($savedip == $ip) {$savedtime = $time;$found = 1;}
if ($time < $savedtime + ($minutes * 60))
{
fputs($f,"$savedip|$savedtime\n");
$users = $users + 1;
}
}
if ($found == 0)
{
fputs($f,"$ip|$time\n");
$users = $users + 1;
}
fclose ($f);
echo "Он-лайн: <strong>$users</strong>";
?>