Dle защита от спама

Dle защита от спамаПривет всем. Не писал уже давно, работа, заботы, проблемы… Все то, что нас окружает ежедневно. Когда просто опускаются руки и не хочется более ничего делать. Не говоря уже об утомительных и пасмурных днях осени, депрессии которая она накладывает, когда идут дожди… Все это мелочи…

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

А началось все с того, что комментарии в версии dle 7.5, отключить было нельзя, так как заказчик требовал общения с народом. А через 2 недели нахождения сайта в онлайне возникла проблема постоянных "говнокомментов" во всех новостях.

Немного пообщавшись и придя к согласию, что ссылок в комментариях быть не должно, решили поработать над содержанием текста комментария на предмет открытых линков.

Я не претендую, со своим способом на панацею от спама в dle. Я просто предложил свой простой способ, защиты от спама в dle .

Вот, что из этого вышло:

[code lang="php"]

if(preg_match("/(<|&lt;)a.*?href=.*?(>|&gt;).*?(<|&lt;)\/.*?a.*?(>|&gt;)/is",$comments))

die("Huck");

[/code]

Такая простая строка, позволяет не добавлять комментарии, указывая вместо них, слово "Huck", не добавляя их в базу.

А для того, чтобы данная строка работала, надо открыть файл engine/modules/addcomments. php

найти строку 221 (в моем варианте движка):

[code lang="php"]

217. $CN_HALT = TRUE;

218. msgbox ($lang[‘all_info’], implode("<br />", $stop)."<br /><br /><a href=\"javascript:history. go(-1)\">".$lang[‘all_prev’]."</a>");