чем хуже этот код, чем htmlpurifier (or other library)?

fawkes

Новичок
чем обработка соответствующей библиотекой*
PHP:
$source = '<script>alert("xss")</script>';
$source = mb_convert_encoding($source, 'UTF-7');
$source = htmlspecialchars($source); 
header('Content-Type: text/html;charset=UTF-7');
echo '<html><head>' . $source . '</head></html>';
 

Фанат

oncle terrible
Команда форума
Я думаю, надо почитать, что делает htmlpurifier (or other library).
Тогда вопросы отпадут сами собой.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
у htmlpurifier есть 1 мелкая проблема: там есть строка if class_exists('DOMDocument'), и если вдруг DOM отключен - идет вызов autoload() для подгрузки класса, что, чаще всего, заканчивается exception/error
 

Ragazzo

TDD interested
grigori
это так-то проблема Yii и кривого автолоадера)) тоже самое и с phpunit где у него есть class_exists для доп. пакетов, но Тян сказал что это не может быть фикснуто изза BC. Либо ставить
PHP:
Yii::enableIncludePath=false;
 

Ragazzo

TDD interested
fixxxer
тогда запиши и phpunit туда же, Тян сказал аналогично, что есть второй параметр, но это не значит что нужно валиться с эксепшеном, ага. third-party слишком много чтобы можно было от них отказаться :)
 

fixxxer

К.О.
Партнер клуба
не должен, должен просто return делать.

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

короче неправы оба :)
 

radioheaded

PHP нуб
Наверное тем, что этот код вообще не позволит вам никакие спецсимволы в исходном виде сохранить и обработать, а htmlpurifier — позволяет (хотя я не знаю, что это, только предположение).
 
Сверху