1. Уважаемый Гость, в связи с нехваткой свободного времени наш форум продается. Форум богат своими плагинами и различными шаблонами как платными, которые трудно где достать бесплатно так и бесплатными. Если Вас заинтересовал форум, то, обращаемся по почте: administrator_ps@rambler.ru.
Скрыть объявление
Мы рады Вас видеть на нашем форуме! Надеюсь тебе у нас понравится и ты станешь вместе с нами активным и постоянным пользователем)

Хак один IP один просмотр

Тема в разделе "Хаки", создана пользователем MaxiRubo, 2 июл 2016.

  1. TopicStarter Overlay
    MaxiRubo

    MaxiRubo Команда форума Основатель

    1.511
    2
    1
    2038.jpg

    1.Как правило ,при просмотре новости счетчик каждый раз прибавляет плюс один к просмотру. И это не зависимо от того кто смотрит новость. Таким образом, один пользователь может постоянно обновлять страницу и всегда счетчик будет ползти вверх. В данном случае хак исправляет и делает просмотры новости 1 просмотр с одного IP.

    2.Таки образом мы снижаем нагрузку на БД - обновка БД происходит, только тогда когда пользователь просматривает новость только в первый раз.

    Установка
    1) Через phpmyadmin делаем запрос

    Код:
    ALTER TABLE `*ПРЕФИКС*_post` ADD `ip_views` TEXT CHARACTER SET cp1251 COLLATE cp1251_general_ci NOT NULL;
    где *ПРЕФИКС* - ваш префикс таблиц бд.

    2) Находим в engine/engine.php

    Код:
    if (! $newsid) $sql_news = "SELECT id, autor, date, short_story, full_story, xfields, title, category, descr, keywords, alt_name, comm_num, allow_comm, allow_rate, fixed, rating, vote_num, news_read, approve, votes, access, flag, editdate, editor, reason, view_edit, tags, metatitle FROM " . PREFIX . "_post WHERE alt_name ='$news_name' AND date >= '{$year}-{$month}-{$day}' AND date < '{$year}-{$month}-{$day}' + INTERVAL 24 HOUR LIMIT 0,1";
                    else $sql_news = "SELECT id, autor, date, short_story, full_story, xfields, title, category, descr, keywords, alt_name, comm_num, allow_comm, allow_rate, fixed, rating, vote_num, news_read, approve, votes, access, flag, editdate, editor, reason, view_edit, tags, metatitle FROM " . PREFIX . "_post where  id = '$newsid'";
    меняем на

    Код:
    if (! $newsid) $sql_news = "SELECT id, autor, date, short_story, full_story, xfields, title, category, descr, keywords, alt_name, comm_num, allow_comm, allow_rate, fixed, rating, vote_num, news_read, approve, votes, access, flag, editdate, editor, reason, view_edit, tags, metatitle, ip_views FROM " . PREFIX . "_post WHERE alt_name ='$news_name' AND date >= '{$year}-{$month}-{$day}' AND date < '{$year}-{$month}-{$day}' + INTERVAL 24 HOUR LIMIT 0,1";
                    else $sql_news = "SELECT id, autor, date, short_story, full_story, xfields, title, category, descr, keywords, alt_name, comm_num, allow_comm, allow_rate, fixed, rating, vote_num, news_read, approve, votes, access, flag, editdate, editor, reason, view_edit, tags, metatitle, ip_views FROM " . PREFIX . "_post where  id = '$newsid'";
    3) Находим в engine/modules/show.full.php



    Автор: keiZ
     
Загрузка...