Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
avgaz

Запред публикации сообщений с сылками из черного списка

Рекомендованные сообщения

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

За долбали уже спамеры и вопросы обходят и рекапчу(я не робот) видимо ручками кто то работает усердно ((

Поделиться сообщением


Ссылка на сообщение

\admin\applications\forums\sources\classes\post\classPost.php

Найти

		//-----------------------------------------
	// Merge concurrent posts?
	//-----------------------------------------

Выше добавить

		$classToLoad = IPSLib::loadLibrary(IPS_ROOT_PATH . 'sources/classes/text/parser.php', 'classes_text_parser');
	$parser = new $classToLoad();
	$parser->testForParsingLimits($post['post']);

	$errors = $parser->getErrors();

	if (is_array($errors) and in_array('domain_not_allowed', $errors))
	{
		if ($this->getIsAjax() !== true)
		{
			$this->_postErrors = $this->lang->words['domain_not_allowed'];
			$this->showReplyForm();
			return;
		}

		throw new Exception($this->lang->words['domain_not_allowed']);
	}

ИМХО, ошибку о запрете публикации "черных" ссылок лучше заменить на что-нибудь нейтральное, чтобы спамер не догадался. Например, "Извините, произошла ошибка. Попробуйте позже."

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

@newbie,

А для 3.1.4 можно такой фикс?

Поделиться сообщением


Ссылка на сообщение

А для 3.1.4 можно такой фикс?

Зачем?

Проверил работу фильтров на 3.1.4. Там без всяких фиксов все работает.

Поделиться сообщением


Ссылка на сообщение

Проверил работу фильтров на 3.1.4. Там без всяких фиксов все работает.

Так в вашем варианте такое сообщение становиться премодерируемым, то есть оно должно быть потверждено. Или я что то не так понял?

Поделиться сообщением


Ссылка на сообщение

Так в вашем варианте такое сообщение становиться премодерируемым, то есть оно должно быть потверждено

Нет.

Выводится сообщение о том, что содержатся запрещенные ссылки.

Поделиться сообщением


Ссылка на сообщение
\admin\applications\forums\sources\classes\post\classPost.php

@newbie, спасибо большое за способ! Работает, правда, только с протоколом http(s)://www, без него ссылка публикуется, правда, не кликабельная, но тем не менее.

Поделиться сообщением


Ссылка на сообщение

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

Так это вообще не ссылка, а текст.

Напишите в редакторе любую разрешенную ссылку с http(s) и без.

google.jpg

 

google2.jpg

Поделиться сообщением


Ссылка на сообщение

Спасибо, работает. Только спамер оказался умный и просто стал публиковать ссылки текстом то есть вот так ipbskins.ru причем публикует не прямо на сайт а на сервисы переадресации или так же через переадресацию на blogspot.com в общем за ***** он уже.

Как хоть от такого избавится??

Поделиться сообщением


Ссылка на сообщение

просто стал публиковать ссылки текстом то есть вот так ipbskins.ru причем публикует не прямо на сайт а на сервисы переадресации или так же через переадресацию на blogspot.com в общем за ***** он уже.

Как узнать, что это именно ссылка?

Можете попробовать фильтр нецензурных слов.

Поделиться сообщением


Ссылка на сообщение
12/17/17 10:59 (изменено)

Можно попробовать как-нибудь со способом отсюда объединить http://ipbskins.ru/forum/topic12377.html/page__view__findpost__p__81292. Тот код проверяет наличие определенных наборов символов, например, 'http://', '.ru', '.ру' и т.п. и блокирует отправку сообщения в случае наличия.

Изменено пользователем Strategius

Поделиться сообщением


Ссылка на сообщение

Как узнать, что это именно ссылка?

Можете попробовать фильтр нецензурных слов.

Дак фильтр слов не запрещает публикацию сообщений, а просто заменяет слово

 

Можно попробовать как-нибудь со способом отсюда объединить http://ipbskins.ru/forum/topic12377.html/page__view__findpost__p__81292. Тот код проверяет наличие определенных наборов символов, например, 'http://', '.ru', '.ру' и т.п. и блокирует отправку сообщения в случае наличия.

Это уже стоит, так же публикует просто текст.

 

Я просто полагал, что фильтр ссылок работает по принципу фильтра слов, то есть если я ставлю запрет на *yandex.ru* то это упоминание в сообщении будет под запретом, а оказалось, что только на ссылки распространяется (((

Поделиться сообщением


Ссылка на сообщение
Это уже стоит, так же публикует просто текст.

Потому что там по-умолчанию под запретом только http://, также нужно прописать ID групп и количество сообщений. Можно добавить самые популярные домены:

 

foreach( array('<a ', 'http://', 'https://', 'www', '.ru', '.ру', '.ком', '.рф', '.com', '.club', '.online', '.space', '.market', '.xyz', '.tor', '.top', '.moscow', '.me', '.net', '.ua', '.uk', '.info', '.org', '.fm', '.biz', '.xxx', '.pro', '.tel', '.to', '.edu', '.travel', '[/url]') as $v )

Поделиться сообщением


Ссылка на сообщение

@newbie,

Я пробовал добавить Ваш код в метод siv1987, отсюда: http://ipbskins.ru/forum/topic12377.html/page__st__15#entry81292

 

Но в том файле почему-то не работает условие if (is_array($errors) and in_array('domain_not_allowed', $errors))

 

Подгрузку ошибок добавил:

 

$errors = $parser->getErrors();

Поделиться сообщением


Ссылка на сообщение
Дак фильтр слов не запрещает публикацию сообщений, а просто заменяет слово

Так я и не писал про запрет.

Оптимально контент юзеров, написавших менее 5 постов, установить на модерацию. После переводить в группу проверенных.

 

Но в том файле почему-то не работает условие if (is_array($errors) and in_array('domain_not_allowed', $errors))

 

Что я должен сделать (шаги), чтобы условие не сработало?

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...