AlexTorch Опубликовано 2 Января 2008 Жалоба Поделиться Опубликовано 2 Января 2008 Задача: необходимо полностью или частично запретить определенной группе пользователей использование BB-Code в сообщениях.Идеальным вариантом будет, если настройка на разрешение /запрещение BB-Code будет расположена аналогично правам на использование HTML в сообщениях( в АдминЦентре -> управление -> Группы -> (группа) -> права доступа -> ...) Приемлемо, если такое ограничение будет работать только для конкретной группы, задаваемой как переменная в conf_global.php Сообщения содержащие BB-Code у членов такой группы не должны публиковаться, после заданного числа попыток публикации соощений должно происходить уведомление администратора и запись пользователя блокироваться. Необходимость мода объясняется здесь Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Sannis Опубликовано 2 Января 2008 Жалоба Поделиться Опубликовано 2 Января 2008 Задача: необходимо полностью или частично запретить определенной группе пользователей использование BB-Code в сообщениях.Идеальным вариантом будет, если настройка на разрешение /запрещение BB-Code будет расположена аналогично правам на использование HTML в сообщениях( в АдминЦентре -> управление -> Группы -> (группа) -> права доступа -> ...) Приемлемо, если такое ограничение будет работать только для конкретной группы, задаваемой как переменная в conf_global.phpТолько указанные в теме теги img и url? Или вы планируете настраивать список допустимых тегов для разных групп? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
AlexTorch Опубликовано 3 Января 2008 Автор Жалоба Поделиться Опубликовано 3 Января 2008 Только указанные в теме теги img и url? Или вы планируете настраивать список допустимых тегов для разных групп?Настраивать запрещенные теги для каждой группы мне кажется излишним.Минимально необходимый функционал - запрет для определенной группы на img и url (или почти полный запрет на BB-Code, если технически это реализовать проще).Как мне кажется, новым пользователям минимально необходимо только использование смайлов и кода quote. - без остального они могут прожить. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
WildRAID Опубликовано 3 Января 2008 Жалоба Поделиться Опубликовано 3 Января 2008 На мой взгляд, проще и надежнее поставить защиту от автоматических регистраций.) Любую. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
AlexTorch Опубликовано 3 Января 2008 Автор Жалоба Поделиться Опубликовано 3 Января 2008 На мой взгляд, проще и надежнее поставить защиту от автоматических регистраций.) Любую. Мой опыт говорит, что защита от автоматических регистраций все равно пробивается. На предыдущем форуме, делал сильнозашумленную картинку, с нестандартным шрифтом - часть пользователей не могут зарегистрироваться, придется периодически получать письма помогите, не могу понять код, а при этом несколько роботов каждый день регятся.... Видел на форумах с ip.board и настандартным вопросом на регистрации возникающие сообщения от роботов...Да ботов становится на два порядка меньше но 100% защиты она не дает.Поэтому хотелось бы дополнить защиту от авторегистраций дополнительной - пусть в первых N постах новичок не сможет давать ссылки. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 3 Января 2008 Жалоба Поделиться Опубликовано 3 Января 2008 Включить/Отключить определённый BB тег для какой-либо группы или по какому-либо условию Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Sannis Опубликовано 3 Января 2008 Жалоба Поделиться Опубликовано 3 Января 2008 Я не видел ни одного форума, на котором бы боты взламывали мод с вопросом типа 2+3=? или с модом Вопросы при регистрации. Теперь насчёт того что вы хотели. Привожу пример на 2.3.3.Открываем ./sources/classes/bbcode/class_bbcode.php(и class_bbcode_legacy.php), ищем функцию pre_db_parse( $txt="" ), в ней соответственно: //----------------------------------------- // Auto parse URLs //----------------------------------------- $txt = preg_replace_callback( "#(^|\s|>)((http|https|news|ftp)://\w+[^\s\[\]\<]+)#i", array( &$this, '_regex_build_url_manual' ), $txt );и //----------------------------------------- // Do [IMG] [FLASH] tags //----------------------------------------- if ( $this->ipsclass->vars['allow_images'] ) { $txt = preg_replace_callback( "#\[img\](.+?)\[/img\]#i" , array( &$this, 'regex_check_image' ), $txt ); $txt = preg_replace_callback( "#(\[flash=)(\S+?)(\,)(\S+?)(\])(\S+?)(\[\/flash\])#i", array( &$this, 'regex_check_flash' ), $txt ); }и //----------------------------------------- // [url]http://www.index.com[/url] // [url=http://www.index.com]ibforums![/url] //----------------------------------------- $txt = preg_replace_callback( "#\[url\](.*?)\[/url\]#is" , array( &$this, '_regex_build_url_tags'), $txt ); $txt = preg_replace_callback( "#\[url\s*=\s*(?:\"\;|\")\s*(.*?)\s*(?:\"\;|\")\s*\](.*?)\[\/url\]#is", array( &$this, '_regex_build_url_tags'), $txt ); $txt = preg_replace_callback( "#\[url\s*=\s*(.*?)\s*\](.*?)\[\/url\]#is" Эти куски кода отвечают за конверт ссылок и картинок. Нужно каждый из этих фрагментов "завернуть" в условие на группу, если ей разрешены коды, то парсить, иначе вывести сообщение об ошибке. Привожу как это будет выглядеть в готовом виде с первым фрагментом, в остальных меняется код в первом блоке условия: if( !in_array($this->ipsclass->member['mgroup'], explode(',', $this->ipsclass->vars['mgroups_without_bbcode'])) ) { $txt = preg_replace_callback( "#(^|\s|>)((http|https|news|ftp)://\w+[^\s\[\]\<]+)#i", array( &$this, '_regex_build_url_manual' ), $txt ); } else { $this->error = 'mgroups_cannot_bbcode'; } И так для всех 3х фрагментов. Аналогично можно отключить парсинг и других кодов.Настройку создаём или в conf_global.php, или в админцентре, как вам удобнее.Ключ: mgroups_without_bbcodeСодержание: список групп, которым запрещены ббкоды, через запятую, например:1или1,7,9 В cong_global соответственно:$INFO['mgroups_without_bbcode'] = "1,7,9"; В ./cache/lang_cache/*/lang_error.php нужно добавить переменную $lang['mgroups_without_bbcode'] = "сообщение об ошибке"; Уточняйте, если что-то не совсем ясно излагаю, спешу. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
AlexTorch Опубликовано 3 Января 2008 Автор Жалоба Поделиться Опубликовано 3 Января 2008 Я не видел ни одного форума, на котором бы боты взламывали мод с вопросом типа 2+3=? или с модом Вопросы при регистрации.....Уточняйте, если что-то не совсем ясно излагаю, спешу.Спасибо. Буду ставить. О результатах отпишусь Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.