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

  • Автор темы Автор темы fawkes
  • Дата начала Дата начала

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>';
 
Я думаю, надо почитать, что делает htmlpurifier (or other library).
Тогда вопросы отпадут сами собой.
 
у htmlpurifier есть 1 мелкая проблема: там есть строка if class_exists('DOMDocument'), и если вдруг DOM отключен - идет вызов autoload() для подгрузки класса, что, чаще всего, заканчивается exception/error
 
grigori
это так-то проблема Yii и кривого автолоадера)) тоже самое и с phpunit где у него есть class_exists для доп. пакетов, но Тян сказал что это не может быть фикснуто изза BC. Либо ставить
PHP:
Yii::enableIncludePath=false;
 
fixxxer
тогда запиши и phpunit туда же, Тян сказал аналогично, что есть второй параметр, но это не значит что нужно валиться с эксепшеном, ага. third-party слишком много чтобы можно было от них отказаться :)
 
не должен, должен просто return делать.

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

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