, который позволит защитить ваш веб-ресурс в чате от спама, простая установка. Возможно вариант не новый, но многим кто использует на своем ресурсе
будет рад, такому маленькому способу предотвращения добавления сообщений с спамными словами список которых добавляется через запятую в код хак дле. Тем самым получаем iChat фильтр стоп слов анти-спам
Открываем файл engine/modules/iChat/ajax
Ищем там:
if( dle_strlen( stripslashes($message), $config['charset'] ) > $chat_cfg['max_text'] ) { $error = $chat_lang['max'];}
И сразу после этого кода вставляем следующее:
$aFilterMessage = array('секс','porno','http','url','org','ru','com','net');foreach($aFilterMessage as $sWord){ if (stripos($_POST['message'],$sWord)!==false) $bStopSpam = true;}$aFilterNames = array('Download');foreach($aFilterNames as $sName){ if ($name==$sName) $bStopSpam = true;}if ($bStopSpam === true){ $error = 'Сработал анти-спам фильтр. Пожалуйста, прекратите!';}
В массив $aFilterMessage вписываем ваши при необходимости стоп слова, так же можно расширить и массив $aFilterNames
Реализовать подобный антиспам, чтобы работал только для определённых групп пользователей? Допустим если администратору нужно публиковать в чате ссылки, то добавляем следующий код
$FilterMessage = array('секс','http', 'url','org','ru','com','net');foreach($FilterMessage as $Word){if (stripos($_POST['message'],$Word)!==false)$StopSpam = true;}if ($member_id['user_group'] == 1){$StopSpam = false;}if ($StopSpam === true){$error = 'Сработал анти-спам фильтр. Пожалуйста, прекратите!';}