Перейти к содержимому
Русский язык для Invision Community 5

Купили хук Anti Spam,но в нём есть один недостаток, он дает возможность вставлять ссылки такого вида.

[url=http://community.invisionpower.com/files/file/4632-anti-spam/]текст текст[/url]

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

 

Благодарю ;)

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

  • Автор

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

 

Помогите доделать модуль в нормальный вид, чтоб ссылки форума работали внутри форума, а так-же картинки, а то что касается всего внешнего, отрубить.

В ЛС скиньте, посмотрим что там.

  • Автор

В ЛС скиньте, посмотрим что там.

Отправил.

Модуль чудный, у меня ссылки с TITLE не пропускает у других проскакивает.

модуль не дает вставлять смайлы и прямые ссылки на изображения с форума и просто ссылки

Ну вообще-то он на то и рассчитан. Основная его проверка заключается в

 

if (stristr($this->request['Post'], 'http://') OR stristr($this->request['Post'], 'www.') OR stristr($this->request['Post'], '[url') OR preg_match("#[a-z0-9]([-a-z0-9]+)?(\.[a-z]{2,3})?(\.[a-z]{2,4})#i", $this->request['Post']))

Если встречается:

  • http://
  • www.
  • [url
  • выражение соответствующие www.domen.ru

По условию "[url" ббкод url не должен пропускать.

  • Автор

Можно, как-то обыграть?

  • Автор

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

Если исключать изображения, то нужно переделать условия stristr($this->request['Post'], 'http://') и stristr($this->request['Post'], 'www.'). При том, что img в 3.4 есть не только ббкод img, но еще и html (привет визивиг). Как вариант можно предварительно сначала удалить не нужные теги, потом проверять оставшийся текст

 

	  $checkPost = $_POST['Post'];
	  $checkPost = preg_replace('#\[img\]\S*?\[/img\]#i', '', $checkPost);
	  $checkPost = preg_replace('#<img[^>]+>#', '', $checkPost);

	  if(stristr($checkPost, '[url') OR stristr($checkPost, 'http://') OR stristr($checkPost, 'www.') OR preg_match("#[a-z0-9]([-a-z0-9]+)?(\.[a-z]{2,3})?(\.[a-z]{2,4})#i", $checkPost))

 

А вообще для защиты от спама устанавливают нормальные капчи.

  • Автор

Я не считаю то спамом, вот создателю проекта не нравится, когда рекламируют пользователи свой товар ссылками на сторонние ресурсы. Вот и попросил защиту от добавления ссылок пользователям, но оказалось, что оно перекрывает ВСЁ.

Я могу покопать, но только на выходных

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

Аккаунт

Навигация

Поиск

Поиск

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

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