Перейти к содержимому
Открыть в приложении

Удобный способ просмотра. Узнать больше.

Дизайн и модификация Invision Community

Полноэкранное приложение на главном экране с push-уведомлениями, медалями и многим другим.

Чтобы установить это приложение на iOS и iPadOS
  1. Нажмите иконку «Поделиться» в Safari
  2. Прокрутите меню и нажмите На экран «Домой».
  3. Нажмите Добавить в правом верхнем углу.
Чтобы установить это приложение на Android
  1. Нажмите меню из трёх точек (⋮) в правом верхнем углу браузера.
  2. Нажмите Добавить на главный экран или Установить приложение.
  3. Подтвердите, нажав Установить.
Русский язык для Invision Community 5

Запрет ссылок новичкам [IPB 3.2.3]

Здравствуйте!

Давно уже обсуждали эту проблему, но так и не пришли к консенсусу.

В общем, даже если группе пользователей запретить использовать bb-код url, их ссылки все равно публикуются на форуме, только в неактивном виде. А хотелось бы чтоб ссылки вовсе не публиковались и запрещались для пользователей, которые, скажем, не достигли 5 постов на форуме.

Расскажу немного о своей ситуации. У меня на форуме, когда юзверь совершил регистрацию, он попадает в группу "Новички". Этой группе я запретил почти всё, т.е. банально даже в профиль зайти НЕЛЬЗЯ или создать новую тему или отправить ЛС. Но по написанию 5 постов, юзверь автоматом кидается в группу "Пользователи" со всеми стандартными правами.

Я искал способ запретов ссылок, но пришёл только к тому, что надо как-то системно запретить протокол " http:// " группе пользователей "Новички" и чтобы они не смогли отправить пост, пока в нем есть этот протокол. Подскажите как это сделать?! Это сможет глобально решить проблему спама и будущие разработчики систем безопасности смогут сие решение внедрять в новые версии форума. Что я разошёлся :D но доля правды тут есть, поскольку спам-бот потыркается на форуме, "поймёт" что здесь посты не постятся и убежит. Придёт другой, захочет кинуть ссылку, а хренушки, потасуется немного и тоже свалит. Форум чист от спама, все довольны!

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

  • Автор

Да я готов заплатить 5$ но из-за этого продления лицензии, которая собственно мне не нужна, я не могу скачать этот хук! Помогите уж кто-нить, а? :angry:

  • Автор

Может быть есть возможность как-то сделать "Черный список" для определенной группы пользователей?

Вот нужно что-то типа этого, но только на группу пользователей "Новички", которые еще не написали 5 сообщений на форуме.

 

Вариант для 3.4+ (проглядел что у тс-а 3.2 :) )

 

1. Внешний вид -> Языки -> %язык% -> Add string

Application: Forums

Pack Name: public_post

Key: links_not_allowed

Default Text: To post links in this forum you must have %d posts

 

2. Открыть admin\sources\classes\editor\composite.php

Найти

	return $cleanContent;

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

	$_minPosts = 10;
	$_exGroups = array(4);

	if( ! IPSMember::isInGroup($this->memberData, $_exGroups) AND $this->memberData['posts'] < $_minPosts )
	{
		foreach( array('<a ', 'http://', '[/url]') as $v )
		{
			if( stripos($cleanContent, $v) !== false )
			{
				$this->setParsingErrors( array( sprintf($this->lang->words['links_not_allowed'], $_minPosts) ) );
				break;
			}
		}
	}

 

10 - количество постов

array(4) - освобожденные группы на которых данное правило не действует

www.site.ru линком не считается. И, естественно, это ни разу не защищает от спама. Будут спамить либо не активными ссылками, либо без ссылок. Хотя некая доля отсеется. Но назвать это реальной защитой было бы слишком сильно сказано.

Для 3.2+

 

1. Внешний вид -> Языки -> %язык% -> Add string

Application: Forums

Pack Name: public_post

Key: links_not_allowed

Default Text: To post links in this forum you must have %d posts

 

2. Открыть admin/sources/classes/bbcode/custom/defaults.php

Найти

	//-----------------------------------------
	// Let's remove any nested links..
	//-----------------------------------------

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

       $_minPosts = 10;
       $_exGroups = array(4);

       if( ! IPSMember::isInGroup($this->memberData, $_exGroups) AND $this->memberData['posts'] < $_minPosts )
       {
		$this->warning = sprintf($this->lang->words['links_not_allowed'], $_minPosts);
		return $content;
       }

 

(Включить парсинг ббкода url для всех групп)

В admin/sources/classes/bbcode/custom/defaults.php

  • Автор

Да, я уже увидел что Вы исправили пост. Всё получилось! Огромнейшее Вам спасибо! :)

 

www.site.ru линком не считается. И, естественно, это ни разу не защищает от спама. Будут спамить либо не активными ссылками, либо без ссылок. Хотя некая доля отсеется. Но назвать это реальной защитой было бы слишком сильно сказано.
Решение можно совершенствовать. То, что Вы сделали - это уже хороший ход в борьбе со спамом. Но что если для определенной группы пользователей запретить такие наборы символов как 'www' и '.ru' (без кавычек), тогда спамерам вообще не оставим шансов!!!

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

А не проще бы поставить нормальную капчу или защиту при регистрации и не плодить спамеров на форуме? Отключение ссылок практически ни от чего не защищает, так как спам это далеко не обязательно ссылки.

  • Автор

Вы и сами прекрасно понимаете, что та капча, которая предусмотрена движком, не решает проблему спама. Самое эффективное это система "Вопрос - ответ". Она решает проблему спама, но не надолго. Раз в квартал надо менять вопрос.

Здесь же я предлагаю усилить эффект стандартной защиты, раз и навсегда покончив с таким видом спама как постинг ссылок вновь зарегистрирвоанными спам-ботами. И я согласен с Вами в том, что "www.site.ru линком не считается. Будут спамить не активными ссылками", но запретив отдельной группе (которые только что зарегистрировались с продвижением в обычную группу после 5 сообщения) публиковать их посты, в которых есть слова "www" и ".ru" (и т.д.), вопрос с данным видом спама будет закрыт.

  • 1 месяц спустя...
  • Автор

Доброго времени суток!

Ребят, помогите! Появилась проблема следующего характера. После того, как я сделал всё как советовал siv1987 в сообщении #20 данной темы, ссылки на форуме, которые публикуют пользователи (у которых более 5 сообщений), иногда становятся неактивными, а через время снова активные! Ролики Youtube вообще пропадают!!!

Подскажите, что необходимо предпринять?!

 

post-54136-0-26413100-1385818423_thumb.jpg

Откатите изменения и понаблюдайте действительно ли в этом проблема.

  • 4 месяца спустя...

Пожалуйста, подскажите, что нужно добавить в код,чтобы правило не распространялось на вставляемые по урлу картинки?

Картинки по урл'у это ссылки.

Либо это ссылки, либо изображения в теге img.

Картинки по урл'у это ссылки.

Либо это ссылки, либо изображения в теге img.

То есть не получиться добавить исключения для:

<img class="bbc_img" src="http://www.site.ru/ii/photo.png" alt="photo.png">

?

Нельзя разрешить в указанном Вами коде ссылки, содержащие *.png *.jpg ?

В данном случае это изображение, а не ссылка.

Ссылка - a href (bbcode url), они и запрещаются в любом виде, пусть то ссылку на картинку, или на что-то еще.

В данном случае это изображение, а не ссылка.

Ссылка - a href (bbcode url), они и запрещаются в любом виде, пусть то ссылку на картинку, или на что-то еще.

Благодарю, это я понял. Я воспользовался Вашей рекомендацией по запрету ссылок ipb 3.4, что привело к невозможности публикации картинок с других сайтов. Так может быть есть какое то решение этого вопроса?

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

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа -> Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.