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



 

Здравствуйте, гость (

| Вход | Регистрация )

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


Грабить контент с любого дле сайта крайне просто. Все дело в служебном теге 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


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


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

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


а как сделать если код
$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


(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 на ТУТ. ICQ:359803651.

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


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

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


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


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


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

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

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

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

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

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

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

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

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

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.


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


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


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Хостинг "Hostland" - качественный хостинг по разумным ценам и со своей Панелью Управления
0 artmeteor 300 Вчера, 22:46
автор: artmeteor
Открытая тема (нет новых ответов) ⭐⭐⭐ Google Voice | Gmail - OLD аккаунты "SMS и звонки" ⭐⭐⭐
15 Chekon 4436 Вчера, 12:00
автор: Chekon
Открытая тема (нет новых ответов) ✅ sms.chekons.com - ⭐ Сервис для получения SMS на реальные номера USA "Non-VoIP, безлим SMS, API" ⭐
Сервис для получения SMS на реальные номера USA
13 Chekon 4070 Вчера, 11:48
автор: Chekon
Открытая тема (нет новых ответов) Rebex.io – Ваша инновационная платформа для обмена криптовалюты!
1 Rebex 675 17.4.2024, 11:50
автор: Rebex
Открытая тема (нет новых ответов) Требуется помощь по сайту на "ВордПресс"
Закрылся доступ в панель администратора
15 Tia2 2345 17.4.2024, 0:54
автор: diviner99


 



RSS Текстовая версия Сейчас: 19.4.2024, 10:28
Дизайн