Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
1 / 1 / 0
Регистрация: 19.05.2013
Сообщений: 47
1

Защита от накрутки по куки, ip и т.п

19.01.2014, 17:15. Показов 1942. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Это скрипт счетчика посещений.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
<?php
 
 
 
$count=(int)file_get_contents ("counter.txt");
$count++;
$countf = fopen ("counter.txt", "r+");
flock($countf,2);
fputs ( $countf, $count);
fclose ($countf);
 
?>
Как раз то, что мне нужно для подсчета посещений одной или некоторых страниц. Но как сделать, чтобы при обновлении страницы он не накручивался, а был хоть какой то запрет?
Спасибо
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.01.2014, 17:15
Ответы с готовыми решениями:

Защита от накрутки (куки или IP)
В прикрепленном файле - голосование. В нем работает защита при помощи сессии, то есть если...

Защита от накрутки
Добрый день. Так как в php пока что не разбираюсь, прошу помочь. В прикрепленном файле - опрос. Он...

Защита от накрутки
На cms стоит проверка по ip адресу и по кукам ip function get_ip() { global $_SERVER; ...

Защита от накрутки
Такая проблема. Есть картинки с лайками голосовать можно всем кто зайдет на сайт. как сделать так,...

8
Эксперт PHP
5753 / 4133 / 1507
Регистрация: 06.01.2011
Сообщений: 11,276
19.01.2014, 17:19 2
Normgold, IP посетителя записывайте.
0
1 / 1 / 0
Регистрация: 19.05.2013
Сообщений: 47
19.01.2014, 17:20  [ТС] 3
Цитата Сообщение от lyod Посмотреть сообщение
Normgold, IP посетителя записывайте.
В этом и беда, не знаю как это сделать..
0
Эксперт PHP
5753 / 4133 / 1507
Регистрация: 06.01.2011
Сообщений: 11,276
19.01.2014, 17:38 4
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?php
    # Файл, в который будут писаться IP пользователей в массиве
    $visitors_file = 'visitors.txt';
    
    # Функция для записи IP в массив
    function appendIP( $visitors=array() )
    {
        global $visitors_file;
        
        # Если данные 
        if( !is_array( $visitors ) )
            $visitors = array();
        
        # Получаем IP
        $ip = getenv( "REMOTE_ADDR" );
        
        # Если IP нет в массиве
        if( !in_array( $ip, $visitors ) )
        {
            # Дописываем IP в массив
            $visitors[] = getenv( "REMOTE_ADDR" );
            
            # Переводим назад в JSON и записываем в файл
            file_put_contents( $visitors_file, json_encode( $visitors ) );
        }
    }
    
    # Если файл существует
    if( file_exists( $visitors_file ) )
    {
        # Получаем JSON массив IP
        $visitors = file_get_contents ( $visitors_file );
        
        # Переводим в вид массива PHP из JSON
        $visitors = json_decode( $visitors );
        
        # Вызываем функцию записи IP
        appendIP( $visitors );
    }
    else
        appendIP();
?>
А потом считаете с помощью count количество элементов массива. Количество элементов равно количеству просмотров.
0
268 / 268 / 109
Регистрация: 22.08.2013
Сообщений: 907
19.01.2014, 17:44 5
Normgold, записывать все IP'ы людей которые посетили сегодня страницу в другой файл (например каждая новая строка файла — один IP). Разбиваете файл на массив, ищете в нем этот IP, если найден — то не учитывайте в счетчике посещение, а если найден — дописываете в файл новую строчку с этим IP. Кстати говоря, нужно еще этот файл чистить каждые новые сутки (CRON в помощь). А также немного подробностей:

Функция для разбиение файла на массив по строкам — file().
Поиск по массиву (если не ошибаюсь) — array_search().
Получение IP — $_SERVER['REMOTE_ADDR'].
0
Эксперт PHP
5753 / 4133 / 1507
Регистрация: 06.01.2011
Сообщений: 11,276
19.01.2014, 17:48 6
Хотя зачем JSON я прилепил... Пока писал - изначальную задумку забыл, а JSON остался. Вот без JSON:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php
    # Файл, в который будут писаться IP пользователей в массиве
    $visitors_file = 'visitors.txt';
    
    # Функция для записи IP в массив
    function appendIP( $visitors=array() )
    {
        global $visitors_file;
        
        # Если данные 
        if( !is_array( $visitors ) )
            $visitors = array();
        
        # Получаем IP
        $ip = getenv( "REMOTE_ADDR" );
        
        # Если IP нет в массиве
        if( !in_array( $ip, $visitors ) )
            # Переводим назад в JSON и записываем в файл
            file_put_contents( $visitors_file, $ip, FILE_APPEND );
    }
    
    # Если файл существует
    if( file_exists( $visitors_file ) )
    {
        # Получаем JSON массив IP
        $visitors = file( $visitors_file );
        
        # Вызываем функцию записи IP
        appendIP( $visitors );
    }
    else
        appendIP();
?>
1
1 / 1 / 0
Регистрация: 19.05.2013
Сообщений: 47
19.01.2014, 18:37  [ТС] 7
Цитата Сообщение от lyod Посмотреть сообщение
Хотя зачем JSON я прилепил... Пока писал - изначальную задумку забыл, а JSON остался. Вот без JSON:
Спасибо большое за код! А куда именно вставить ваш код чтобы с моим вместе работали?
0
Эксперт PHP
5753 / 4133 / 1507
Регистрация: 06.01.2011
Сообщений: 11,276
19.01.2014, 18:49 8
Normgold, ваш не нужен.

Добавлено через 23 секунды
Замените его на мой.
0
1 / 1 / 0
Регистрация: 19.05.2013
Сообщений: 47
19.01.2014, 20:09  [ТС] 9
Цитата Сообщение от lyod Посмотреть сообщение
ваш не нужен
Всё бы хорошо, но в visitors.txt появляется просто мой ip-адрес, а счетчик(цифры) просмотра нет. Или большего и не требовалось? Я хотел чтобы в файл записывались просмотры страницы(без накрутки), чтобы вывести их потом.
0
19.01.2014, 20:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.01.2014, 20:09
Помогаю со студенческими работами здесь

Защита от накрутки счетчика
Еще один вопрос. При реализации счетчика страницы возникла необходимость создания защиты от...

защита от накрутки голосования
Необходимо сделать защиту от накрутки голосования. Причё необходимо учесть чтобы 1. Мог голосовать...

Защита от накрутки голосов
Решил на днях ради развлекухи создать онлайн голосовалку, где под каждой фоткой 3 кнопки: &quot;3...

Защита голосования от накрутки голосов!
Добрый день/вечер уважаемые программисты! Я столкнулся тут с токай проблемой это есть накрутка...

Защита куки
Как можно защитить куке чтобы их нельзя было изменить (в управлеии кукес)


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru