Subscribe to Feeds Subscribe to Tweeters
04 Ноя

Защита dle от спама. Часть 2.

Freesmska -> dle -> Защита dle от спама. Часть 2.
Будь в курсе. Подпишись по e-mail:       

Постовой: Мой дневник со стихами, не читайте — это для индексации.)

dle спам защита от спама
Спам окружает нас по всюду, на почте, вконтакте и других социальных сетях. Спам это огромная индустрия, на которой зарабатывают миллионы, и сжигают терабайты трафика. Каждый хоть маломальский сеошник знает, что продвижение без ссылок в настоящее время становится не возможным. Хотя по низкочастотным запросам еще возможно вытянуть сайт в топ10, но тем не менее каждый день на сайтах появляются 10-ки комментариев содержащих ссылки на других ресурсы.

Сегодня мы продолжим цикл статей про остановку спама в dle.

В этот раз все началось с безобидного на первый взгляд занятия. Мой первый сайт под названием necus.us был взломан и какая-то свол..чь произвела спам-мейл рассылка со скрипта, который смогли залить через дырку в cms. Кстати сайт стоял на движке e107, да были времена когда я с ним еще возился, но увы… он того не стоит.

Внимательный читатель подумает, а как связано dle и e107, с чего вдруг я обо всем этом рассказываю. Да дело в том, что после того как меня взломали я решил переехать с e107 на dle и если зайдете на сайт то заметите, что я успешно это сделал.) Кстати немного попиарюсь и предлагаю всем желающим приобрести E107toDle мигратор-конвертер всего за скромные $15. Надеюсь на ваше понимание, кушать хочется всем.

Все хватит лирических отступлений, пришло время перейти к действиям, а именно запретить ссылки в подписи и профилях.) А то последнее время спамят уже не в комментах, а в самих профилях и подписях. Вообщем спамеры умнеют.

Для того чтобы запретить в профиле ставить ссылку открываем файл:
engine/modules/prifile.php
и после строки 81
[code lang=»php»]
$signature = "";
[/code]
вставляем
[code lang=»php»]
if(preg_match("/(<|&lt;)a.*?href=.*?(>|&gt;).*?(<|&lt;)\/.*?a.*?(>|&gt;)/is",$signature))
{
$stop .= "Url запрещены в профиле";
}

if(preg_match("/\[url=(.*?)\].*?\[\/url\]/is",$signature))
{
$stop .= "Url запрещены в профиле";
}
[/code]

Все теперь в подписях больше нет спам-ссылок, ведь по правде говоря, кому они нужны.)

Так же можно добавить фильтр для информации о себе на всякий случай:
После строки 205
[code lang=»php»]
if ( preg_match( "/[\||\’|\<|\>|\"|\!|\]|\?|\$|\@|\/|\\\|\&\~\*\+]/", $land ) ) {
$stop .= $lang[‘news_err_36’];
}
[/code]
вставляем
[code lang=»php»]
if(preg_match("/(<|&lt;)a.*?href=.*?(>|&gt;).*?(<|&lt;)\/.*?a.*?(>|&gt;)/is",$land))
{
$stop .= "Url запрещены в профиле";
}

if(preg_match("/\[url=(.*?)\].*?\[\/url\]/is",$land))
{
$stop .= "Url запрещены в профиле";
}
[/code]

Все еще один шаг к защите dle от спама сделан.

Так же хотел бы посоветовать всем, кто пользуется wi-fi соединением проверить, что Ваша настройка wifi соответствует корректной. Взлом щас по всюду, так же как и обман будьте осторожней.

100% зрение без операций

Будь в курсе. Подпишись по e-mail:      

4 комментария по теме: “Защита dle от спама. Часть 2.”

  1. Спасибо, это первый код, который пошёл на DLE 8.5.

  2. Derk:

    Только придумаем защиту, как находится что-то иное

  3. Только во втором случае мы почему то ловим урл в названии города, надо не $land, а $info 🙂

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

У вас есть мнение? Оставьте свой отзыв: