Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
avgaz

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

Recommended Posts

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

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

Share this post


Link to post
Share on other sites

\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

Share this post


Link to post
Share on other sites

@newbie,

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

Share this post


Link to post
Share on other sites

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

Зачем?

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

Нет.

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

Share this post


Link to post
Share on other sites
\admin\applications\forums\sources\classes\post\classPost.php

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

Share this post


Link to post
Share on other sites

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

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

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

google.jpg

 

google2.jpg

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

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

Edited by Strategius

Share this post


Link to post
Share on other sites

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

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

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

 

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

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

 

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

Share this post


Link to post
Share on other sites
Это уже стоит, так же публикует просто текст.

Потому что там по-умолчанию под запретом только 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 )

Share this post


Link to post
Share on other sites

@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();

Share this post


Link to post
Share on other sites
Дак фильтр слов не запрещает публикацию сообщений, а просто заменяет слово

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

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

 

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

 

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...