X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

Открыть тему
Тема закрыта
> Хак для Dle "Защита контента от автоматических грабберов"
AleksandrSergeev
AleksandrSergeev
Topic Starter сообщение 28.12.2009, 2:38; Ответить: AleksandrSergeev
Сообщение #1


Бывалый
****

Группа: User
Сообщений: 396
Регистрация: 17.7.2008
Из: localhost
Поблагодарили: 158 раз
Репутация:   32  


Грабить контент с любого дле сайта крайне просто. Все дело в служебном теге div которым движек "оборачивает" каждую новость. Если заглянуть в html код новости на дле, можно увидеть примерно следующее
<div id='news-id-11111'>Текст новости</div>

Этот тег необходим движку, чтобы найти на страничке новость при быстром редактировании, поэтому просто удалять его крайне нежелательно.
Но его-же используют и все автоматические дле грабберы, следовательно крайне важно чтобы автомат ни в коем случае не нашел этот тег в коде вашей странички.

Реализовать это довольно просто:
Открываем файл engine/modules/show.full.php

Находим строчку
$tpl->set( '{full-story}', stripslashes( "<div id='news-id-" . $row['id'] . "'>" . $row['full_story'] . "</div>" ) );


И заменяем на
if($is_logged and (($member_id['name'] == $row['autor'] and $user_group[$member_id['user_group']]['allow_edit']) or $user_group[$member_id['user_group']]['allow_all_edit'])){
    $tpl->set('{full-story}', stripslashes("<div id='news-id-".$row['id']."'>".$row['full_story']."</div>"));
}else{                                                                                
    $tpl->set('{full-story}', stripslashes($row['full_story']));
}

Таким образом этот самый "опасный", но очень нужный тег будет подгружаться только для тех посетителей которым разрешено редактировать новости, то есть только для администраторов, редакторов и иногда для журналистов.

Ну и напоследок еще один бесплатный совет, как усложнить жизнь владельцам настраиваемых грабберов и рипальщикам wink.gif

Открываем файл index.php

Находим строчку
echo $tpl->result['main'];


И заменяем на
echo preg_replace('|>[\r]*[\n]*[\s]*<|Uis', '><', $tpl->result['main']);


В результате html код странички (Все кроме текста и JS скриптов) будет вытягиваться в одну строку, что затруднит чтение вашего html кода.


Поблагодарили: (5)
5
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Magir
Magir
сообщение 28.12.2009, 2:43; Ответить: Magir
Сообщение #2


Участник
***

Группа: User
Сообщений: 213
Регистрация: 4.12.2009
Из: Санкт-Петербург
Поблагодарили: 69 раз
Репутация:   13  


От скрипт-киддисов спасет, а от настраиваемого парсера не спасет ничего)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
AleksandrSergeev
AleksandrSergeev
Topic Starter сообщение 28.12.2009, 2:45; Ответить: AleksandrSergeev
Сообщение #3


Бывалый
****

Группа: User
Сообщений: 396
Регистрация: 17.7.2008
Из: localhost
Поблагодарили: 158 раз
Репутация:   32  


(Magir @ 28.12.2009, 3:43) *
От скрипт-киддисов спасет, а от настраиваемого парсера не спасет ничего)

Собственно поэтому я и назвал тему "Защита контента от автоматических грабберов" biggrin.gif
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
paradox
paradox
сообщение 28.12.2009, 3:15; Ответить: paradox
Сообщение #4


Бывалый
****

Группа: User
Сообщений: 468
Регистрация: 14.2.2008
Из: UA
Поблагодарили: 89 раз
Репутация:   12  


а как сделать если код
$tpl->set( '{full-story}', stripslashes( "<div id='news-id-" . $row['id'] . "'>" . $row['full_story'] . "</div>" ) );

изменен на
$text = $sape_context->replace_in_text_segment(stripslashes("<div id='news-id-".$row['id']."'>".$row['full_story']."</div>"));

$tpl->set('{full-story}', $text);


Помогите, пожалуйста.

Сообщение отредактировал paradox - 28.12.2009, 3:15
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
AleksandrSergeev
AleksandrSergeev
Topic Starter сообщение 28.12.2009, 3:19; Ответить: AleksandrSergeev
Сообщение #5


Бывалый
****

Группа: User
Сообщений: 396
Регистрация: 17.7.2008
Из: localhost
Поблагодарили: 158 раз
Репутация:   32  


(paradox @ 28.12.2009, 4:15) *
а как сделать если код
$tpl->set( '{full-story}', stripslashes( "<div id='news-id-" . $row['id'] . "'>" . $row['full_story'] . "</div>" ) );

изменен на
$text = $sape_context->replace_in_text_segment(stripslashes("<div id='news-id-".$row['id']."'>".$row['full_story']."</div>"));

$tpl->set('{full-story}', $text);


Помогите, пожалуйста.


Строчку
$text = $sape_context->replace_in_text_segment(stripslashes("<div id='news-id-".$row['id']."'>".$row['full_story']."</div>"));


Заменить на
if($is_logged and (($member_id['name'] == $row['autor'] and $user_group[$member_id['user_group']]['allow_edit']) or $user_group[$member_id['user_group']]['allow_all_edit'])){
    $text = $sape_context->replace_in_text_segment(stripslashes("<div id='news-id-".$row['id']."'>".$row['full_story']."</div>"));
}else{                                                                                
    $text = $sape_context->replace_in_text_segment(stripslashes($row['full_story']));
}


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
bobur
bobur
сообщение 28.12.2009, 7:28; Ответить: bobur
Сообщение #6


Мастер Datalife Engine
******

Группа: Active User
Сообщений: 1421
Регистрация: 12.11.2009
Из: Планета Земля
Поблагодарили: 195 раз
Репутация:   59  


А как будет Поисковые системы на сайт относится?


--------------------
Мастер по Datalife Engine на ТУТ. ICQ:359803651.

CверхБыстрые VPS/VDS по системе Все включено! 60% скидка. Купон:60OFFAVPS
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
AleksandrSergeev
AleksandrSergeev
Topic Starter сообщение 28.12.2009, 7:32; Ответить: AleksandrSergeev
Сообщение #7


Бывалый
****

Группа: User
Сообщений: 396
Регистрация: 17.7.2008
Из: localhost
Поблагодарили: 158 раз
Репутация:   32  


(bobur @ 28.12.2009, 8:28) *
А как будет Поисковые системы на сайт относится?

Никак, поисковых систем это изменение не коснется, разве что лишнего кода на страничке будет чуть меньше
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Евгешко
Евгешко
сообщение 28.12.2009, 8:40; Ответить: Евгешко
Сообщение #8


Старожил
******


Группа: Active User
Сообщений: 1340
Регистрация: 10.9.2009
Поблагодарили: 506 раз
Репутация:   103  


молодец!спасибо


--------------------
Типа вернулся
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
trooll
trooll
сообщение 5.1.2010, 23:12; Ответить: trooll
Сообщение #9


Частый гость
**

Группа: User
Сообщений: 67
Регистрация: 27.12.2009
Из: Алтайский край
Поблагодарили: 12 раз
Репутация:   2  


Вот таким вот как вы защищальщикам контента руки по отрывать надо (Злой писать автограберов rolleyes.gif )

Ладно шутка это...

Вообще на своей практики встречал много модификаций DLE. И скажу вам так защититься от грабера не как нельзя.

Данный способ спасет от г*но граберов, но вот от нормального авто грабера уже нет и тем более от грабера написанного специально под данный сайт где присутствует та или иная защита.

Так же не стоит забывать про XHE, если кто то собирается защищаться изощренными способами с ЖабаСкриптами.

Вообще по данному вопросу уже подымалось не мало тем, на многих форумах. И во всех темах, пользователи приходили к единому мнению:

--- Да в рот мне ноги, пусть грабят до у*рачки, в данном случае главное что бы контент в выдачу попал первым.

Я вам так скажу здесь не сам контент защищать необходимо, а определять роботов и банить их по IP на сутки, не довая им даже близко находиться возле контента. Как web-программист скажу, данную систему не так уж сложно реализовать.

Но сразу же хочу напомнить что идеальной защиты не существует. Что не возможно обойти тихо-мирно, то можно взломать громко-грубо.

Сообщение отредактировал trooll - 6.1.2010, 21:14


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Распределение бюджета для групп объявлений КМС
0 vincento 70 Сегодня, 16:59
автор: vincento
Открытая тема (нет новых ответов) Стоит ли подавать платную заявку в Яндекс Каталог для регионального издания?
12 DVORYAN 1683 Сегодня, 16:41
автор: vds4you
Горячая тема (нет новых ответов) ТОП База - отборная профессиональная база с обновлениями для качественной регистрации
Есть все существующие Виды сайтов, все Тематики, все Регионы
150 AnnaYa 64181 Сегодня, 13:36
автор: AnnaYa
Открытая тема (нет новых ответов) Сервис для массовой проверки числа обратных ссылок (backlinks)?
0 Telnor 279 Сегодня, 11:39
автор: Telnor
Горячая тема (нет новых ответов) Виртуальные номера для приема смс
Автоматическая смс активация аккаунтов
34 SmskaAssistant 3267 Сегодня, 9:01
автор: SmskaAssistant


 



RSS Текстовая версия Сейчас: 13.12.2017, 17:26
Дизайн