Регистрация

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

TipTop 30-10-2010, 09:39 5355 Хаки DLE

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

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

$db->query( "UPDATE " . PREFIX . "_post set news_read=news_read+1 where id='{$row['id']}'" );



меняем на

{
                $_IP = $db->safesql( $_SERVER['REMOTE_ADDR'] );
                $ips=explode(",", $row['ip_views']);
                if(!in_array($_IP,$ips)){
                    if($row['ip_views']=="")
                        $ip_views=$_IP;
                    else
                        $ip_views=$row['ip_views'].",".$_IP;
                $db->query( "UPDATE " . PREFIX . "_post set news_read=news_read+1 , ip_views='$ip_views' where id='{$row['id']}'" );
            }
            
            }



Автор: keiZ


Похожие новости

Прячем закрытые темы для Dle форума

Хак предназначен для засекречивания закрытых тем на форуме Автор: Dellok

03.06.10 Хаки DLE
Хак Автоматическое добавление тегов из заголовка новости

Автоматическое добавление тегов из заголовка новости Небольшой хак, который автоматически берет

08.11.09 Хаки DLE
Хак для DLE "Последний коммент"

Хак для DataLife Engine "Последний коммент" Хак повзолит пользователям при нажатии на

14.10.09 Хаки DLE

Комментарии (7)

avatar
#1 kirill29rus
Подскажи поподробнее как именно делать запрос к базе?не могу понять этот запрос надо куда то вводить?
avatar
#2 Пользователь offline TipTop
phpmyadmin это админ панель твоего сайта на хосте. Зайди в управление самого сайта .Если не знаеш как спроси у тех. поддержку на твоем хосте.
avatar
#3 BukerMan
хак на дле 9.0 работает?
avatar
#4 StiX
на dle 9.0 работает!
avatar
#5 SnapSh0t
на dle 9.2 не работает!
avatar
#6 Lionprizrak
Извиняюсь за глупый вопрос но, что такое ПРЕФИКС и где его найти?
где *ПРЕФИКС* - ваш префикс таблиц бд.
avatar
#7 forze
На 9.5 работает. Благодарю!
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Powered by Dleshka.org. Сайт предназначен для выбора шаблонов и дополнений с использованием CMS DataLife Engine.
Закрыть