dle защита от спама
Постовой: Великая Россия поддержи нас.
Привет всем. Не писал уже давно, работа, заботы, проблемы… Все то, что нас окружает ежедневно. Когда просто опускаются руки и не хочется более ничего делать. Не говоря уже об утомительных и пасмурных днях осени, депрессии которая она накладывает, когда идут дожди… Все это мелочи…
Для нас важна безопасность наших сайтов и нашего кода, важен позитивный эффект от развития программ и отблески позитива в наших сердцах. Вообщем на такой радостной ноте, хочу поделится с вами как я боролся со спамом в dle.
А началось все с того, что комментарии в версии dle 7.5, отключить было нельзя, так как заказчик требовал общения с народом. А через 2 недели нахождения сайта в онлайне возникла проблема постоянных «говнокомментов» во всех новостях.
Немного пообщавшись и придя к согласию, что ссылок в комментариях быть не должно, решили поработать над содержанием текста комментария на предмет открытых линков.
Я не претендую, со своим способом на панацею от спама в dle. Я просто предложил свой простой способ, защиты от спама в dle.
Вот, что из этого вышло:
[code lang=»php»]
if(preg_match("/(<|<)a.*?href=.*?(>|>).*?(<|<)\/.*?a.*?(>|>)/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>");
219.
220.
221. }
[/code]
и добавить после закрывающей скобки(после 221 строки) то, что я написал выше.
Всё работает. Спасибо
Так это и есть отключение комментариев, только в машинном режиме! И вместо запрета на комментирование — выдается «Хак»?)))