+7 (812) 914-82-98
Реклама в интернете

Реклама в интернете

Рекламное интернет-агентство «Heika» в Санкт-Петербурге предлагает ряд эффективных рекламных решений.

Читать далее

Создание сайтов

Создание сайтов

Создание сайта – большой проект. Эффективность вашего бизнеса в интернете зависит от комплексного подхода к решению задач.

Читать далее

Продвижение сайтов

Продвижение сайтов

Мы создаем сайт, учитывая принципы оптимизации сайта и психологию пользователя (оптимизированный html-код, оригинальность дизайна).

Читать далее

На главную Heika.ru

Борьба со спамом с сайта

Добавлено 16.09.2022 (CMS, Спам)

Чтобы с сайта перестал приходить спам, для начала нужно определится какая используется CMS. В каждой CMS есть встроенный функционал по подключению капчи. Либо добавить Google reCapcha или Yandex SmartCaptcha.

Затем во всех формах обратной связи на сайте нужно включить (или) установить капчу.

Следующим этапом можно добавить дополнительный способ проверки спама, например через сервис https://www.stopforumspam.com/

Удаление спама с сайта с помощью stopforumspam.com по e-mail и ip в UMI.CMS:

public function isSpambots($mail,$ip){
	$spambot = false;
	//check the e-mail adress
	$xml_string = file_get_contents('https://www.stopforumspam.com/api?email='.$mail);
	$xml = new SimpleXMLElement($xml_string);
	if($xml->appears == 'yes'){
		$spambot = true;
	}elseif($spambot != true){
	//e-mail not found in the database, now check the ip
		$xml_string = file_get_contents('https://www.stopforumspam.com/api?ip='.$ip);
		$xml = new SimpleXMLElement($xml_string);
		if($xml->appears == 'yes'){
				$spambot = true;
		}
	}
	return $spambot;
}

В модуле classes/modules/webforms в class.php в методе send добавляем проверку:

$cmsController = cmsController::getInstance();
$moduleUs = $cmsController->getModule("users");
if($moduleUs->isSpambots($_REQUEST['data']['new']['email'], $_SERVER['REMOTE_ADDR'])){
    $this->errorNewMessage("Подазрение на спам");
    $this->errorPanic();
    return false;
}

 

В Joomla 3.9 использовал такой же способ, подключил Google reCapcha и добавил в код компанента Balbooa Forms в метод function save() (адрес файла components/com_baforms/models/form.php) код описанный выше до сохранениия письма в бд и отправки писма $db = JFactory::getDbo() ... $this->sendEmail проверку спама сайта по e-mail и ip.

Способ не самый изящьный, но работает!
После всего этого есть один недостаток, UMI и компонент Balbooa Forms в Joomla обновлять нельзя, иначе проверку придётся добавлять заново, хотя это и не сложно сделать.

Добавить комментарий:

Для того, чтобы добавить коментарий, авторизируйтесь.