Привет всем. Не писал уже давно, работа, заботы, проблемы… Все то, что нас окружает ежедневно. Когда просто опускаются руки и не хочется более ничего делать. Не говоря уже об утомительных и пасмурных днях осени, депрессии которая она накладывает, когда идут дожди… Все это мелочи…
Для нас важна безопасность наших сайтов и нашего кода, важен позитивный эффект от развития программ и отблески позитива в наших сердцах. Вообщем на такой радостной ноте, хочу поделится с вами как я боролся со спамом в 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>");