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

Применение библиотеки HTMLPurifier в IPB

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

Ранее задавался данным вопрос, но так ответа не получил. Сейчас применяю стандартную библиотеку, скаченную с http://htmlpurifier.org/.

 

Хотелось бы лишний раз не нагружать файлами, библиотеками и тд. А применить уже готовую сконфигурированную разработчиками ipb.

 

Необходимо проверить пользовательский html на наличие скриптов, вредоносного кода и тд. Прежде чем добавим его в базу, без сущьностей. В чистом виде html....

 

Соответсвено вопрос к вам, как это сделать применяя готовую сконфигурированную библию от ipb. Возможно ли это сделать и назначение ее немного иное?

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


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

Вам же сказали использовать для этого classes_editor_composite. Он специально занимается обработкой текста этой библиотекой где происходит конфигурация htmlpurifier и предварительная обработка текста. Не надо заниматься херней.

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


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

Такой вопрос

   $classToLoad = IPSLib::loadLibrary( IPS_ROOT_PATH . 'sources/classes/editor/composite.php', 'classes_editor_composite' );
   $editor = new $classToLoad();
   $editor->setLegacyMode( false );
   $editor->setIsHtml( false );
   $postContent = $editor->process('<tr date="sa"><td>ds</td></tr>');
   print_r($postContent);

 

Как в ответ получить код такого вида "<tr date="sa"><td>ds</td></tr>", отфильтрованный от вредоносного кода...? Как отключить проверку на наличие правильной структуры кода?

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


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

Никак. Пользователи не имеют право использовать таблицы в сообщениях.

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


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

Как разрешить использовать? Возможно?

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


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

Мужики как разрешить использование таблиц?

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


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

Подскажи как выставить разрешение на такие атрибуты как id, class или добавить какой нибудь свой. Блин все удаляет.

 

Не понимаю, как конфиги указываются если использовать ту модификацию что у ipb

 

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

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


Ссылка на сообщение
Подскажи как выставить разрешение на такие атрибуты как id, class или добавить какой нибудь свой. Блин все удаляет.

В IPS Suite 4 классы можно просто добавить в базу:

$myClasses = array( 'myClass_1','myClass_2',...,'myClass_n' );
$settingClasses = \IPS\Settings::i()->editor_allowed_classes ? explode( ',', \IPS\Settings::i()->editor_allowed_classes ) : array();
$settingClasses = array_unique( array_merge( $settingClasses, $myClasses ) );

\IPS\Db::i()->update( 'core_sys_conf_settings', array( 'conf_value' => implode( ',', $settingClasses ) ), array( 'conf_key=?', 'editor_allowed_classes' ) );

Для разрешения элемента по другим атрибутам, включая id, уже нужно работать с яваскрипт:

editor.dataProcessor.htmlFilter.addRules(
{
   elements :
   {
       $ : function( element )
       {
           if ( element.attributes.id == 'myID' )
               return element;
       }
   }
});

Но это, опять же, для 4-ой версии sceditor. С IP.Board 3.x.x не разбирался, там хватало штатных возможностей парсера бб-кодов.

 

как разрешить использование таблиц?
https://community.invisionpower.com/files/file/3520-hsc-table-bbcode/
  • Upvote 1

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

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

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