The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Разработчики Mozilla представили html2dom, альтернативу inne..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Разработчики Mozilla представили html2dom, альтернативу inne..."  +/
Сообщение от opennews (??) on 25-Сен-13, 10:17 
Разработчики Mozilla попытались (https://blog.mozilla.org/security/2013/09/24/introducing-htm.../) создать удобную альтернативу innerHTML для вставки статичных HTML-блоков без необходимости предварительного ручного разбора строковых данных. Метод innerHTML очень популярен благодаря своей простоте, но он далёк от оптимальности, небезопасен и его использование считается плохим стилем.


Прототип альтернативной системы оформлен в виде библиотеки html2dom (https://github.com/freddyb/html2dom), которая на основе строки с HTML генерирует JavaScript-код для корректного создания элементов DOM, т.е. заменяет единый вызов innerHTML на серию простых обращений к DOM. Указанный подход позволяет избежать запуска HTML-парсера для длинных HTML-строк, что положительно влияет на производительность и позволяет защититься от XSS-атак через подстановку в обрабатываемый через innerHTML  ввод нежелательных тегов.

URL: https://blog.mozilla.org/security/2013/09/24/introducing-htm.../
Новость: https://www.opennet.ru/opennews/art.shtml?num=37989

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по ответам | RSS]

1. "Разработчики Mozilla представили html2dom, альтернативу inne..."  –12 +/
Сообщение от Аноним (??) on 25-Сен-13, 10:17 
ха !! якобы проще избежать инжекции - путем использования JS-крапа, чем громоздкого, но безопасного html ? :)  когнитивный диссонанс, однако. ужО второй десяток лет как - инжекция кода чрез JS - основной путь малвари на компы )
и вообще, пора уже учить html/nosql+sql связку веб-мастерам, JS-трэш - откровенно задолбал.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Разработчики Mozilla представили html2dom, альтернативу inne..."  +6 +/
Сообщение от MidNighter (ok) on 25-Сен-13, 10:18 
Разработчики фреймворка GWT наоборот утверждают что innerHTML лучше чем доступ через DOM. хз уже кому верить.

http://www.gwtproject.org/doc/latest/DevGuideUiCellWidgets.html

These widgets are designed to handle and display very large sets of data quickly. A cell widget renders its user interface as an HTML string, using innerHTML instead of traditional DOM manipulation. This design follows the flyweight pattern where data is accessed and cached only as needed, and passed to flyweight Cell objects.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Разработчики Mozilla представили html2dom, альтернативу inne..."  –3 +/
Сообщение от Аноним (??) on 25-Сен-13, 10:47 
Библиотека исправляет разметку. По крайней мере, незакрытые теги успешно закрывает.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Разработчики Mozilla представили html2dom, альтернативу inne..."  +4 +/
Сообщение от annulen (ok) on 25-Сен-13, 11:58 
Они говнокод специально поощряют?
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Разработчики Mozilla представили html2dom, альтернативу inne..."  +3 +/
Сообщение от ILYA INDIGO (ok) on 25-Сен-13, 12:09 
>Метод innerHTML далёк от оптимальности, небезопасен и его использование считается плохим стилем.

Что за бред?! Кем считается? Говнокодерами, или NIH-ерами?
innerHTML он быстрее цепочек createElement Apendchild когда нужно просто вставить статический текст в тег с минимальным парсингом и соответственно doc.outerHTML=doc.innerHTML когда нужно просто убрать шелуху, например из ссылки сделать текст (убрать анкер) или тому подобное.
Просто быстро и безопасно, при этом кросбраузерно.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

7. "Разработчики Mozilla представили html2dom, альтернативу inne..."  +5 +/
Сообщение от Аноним (??) on 25-Сен-13, 14:02 
Ну конечно, html распарсеный JS в серию JS вызовов изменяющих DOM он будет быстрей, чем innerHTML распарсеный нативным движком браузера напрямую и пакетно добавленым в дерево. Вот именно производительность от такого выигрывает!
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

10. "Разработчики Mozilla представили html2dom, альтернативу inne..."  +1 +/
Сообщение от лох on 25-Сен-13, 14:24 
Супер "новость".
Это, несомненно, самая важная новость дня, нет -- новость года. Премию автору! Во-первых, она революционно изменит весь подход к программированию в браузере, заставив отказаться от innerHTML и вообще всего-всего, кроме String.fromCharCode().
Во-вторых, без сомнения, произойдёт революция в браузерах, innerHTML и все прочие ранее "полезные" вещи будут заменены на библиотеку html2dom.
И конечно же, эта новость революционно изменит жизнь юзеров. Предвижу, что теперь в формах нельзя будет ничего ввести, так как у всех по умолчанию введённый в форму текст обязательно вставляется в страницу с помощью innerHTML.
И вообще, я не понимаю, какого хрена ещё в браузерах не внедрили интерпретируемый x86-ассемблер с обязательной встроенной защитой от XSS? Надо бы написать...
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

12. "Разработчики Mozilla представили html2dom, альтернативу inne..."  +3 +/
Сообщение от pro100master (ok) on 25-Сен-13, 14:32 
в смысле "говнокод"? С спецификации явно указано, когда и где можно не закрывать теги. Вы наверное и не читали вовсе, но осуждаете?:)
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

16. "Разработчики Mozilla представили html2dom, альтернативу inne..."  +1 +/
Сообщение от Аноним (??) on 25-Сен-13, 15:22 
Опять внешние фреймворки ....
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

18. "Разработчики Mozilla представили html2dom, альтернативу..."  –3 +/
Сообщение от arisu (ok) on 25-Сен-13, 15:26 
> Опять внешние фреймворки ….

это какие? DOMParser, который в стандарте? или страшный паттерн visitor, которым обрабатывается выхлоп этого парзера?

Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

19. "Разработчики Mozilla представили html2dom, альтернативу..."  +/
Сообщение от Аноним (??) on 25-Сен-13, 15:31 
Парадигмы усложняющие DOM дерево, хватает одного только JQuery .... который разрос
Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

23. "Разработчики Mozilla представили html2dom, альтернативу inne..."  +2 +/
Сообщение от Аноним (??) on 25-Сен-13, 16:12 
в прототипе используют обычный innerHTML , обходят элементы используя DOM и строят JS.
непонятно зачем это может быть нужно.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

28. "Разработчики Mozilla представили html2dom, альтернативу inne..."  +4 +/
Сообщение от angra (ok) on 25-Сен-13, 16:57 
Благодаря безмозглому переводчику-фантазеру действительно сложно понять о чем на самом деле новость и для чего нужна эта библиотека.
Данная либа НЕ подключается к готовому сайту наподобие jquery, knockout или еще что-то. Она НЕ предназначена для вызовов из js кода. Она НЕ нужна для статического HTML. Она используется для создания js кода. А уже созданный ею код вставляется программистом на страницу вместо использования innerHTML и строки текста с HTML шаблоном, в который подставляются пользовательские данные. Этой либе нет необходимости быть кроссбраузерной, так как использоваться она будет только на компе разработчика, а не клиентвов. Кроссбраузерным должен быть код, который она генерирует.
Надо отметить, что либа создает код, который использует document.createDocumentFragment(), то есть не делает типичную ошибку тех, кто создает ноды напрямую в документе и удивляется почему innerHTML оказывается быстрее.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

34. "Разработчики Mozilla представили html2dom, альтернативу inne..."  +3 +/
Сообщение от Аноним (??) on 25-Сен-13, 17:54 
Тогда нафига что-то "исправлять", простите?
Я думал, речь идет о тегах, которые нужно закрывать, а они не закрыты.
Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

60. "Разработчики Mozilla представили html2dom, альтернативу inne..."  +/
Сообщение от Аноним (??) on 25-Сен-13, 18:39 
Стабильней работать точно не будет
Ответить | Правка | ^ к родителю #23 | Наверх | Cообщить модератору

61. "Разработчики Mozilla представили html2dom, альтернативу inne..."  –1 +/
Сообщение от Аноним (??) on 25-Сен-13, 18:40 
innerHTML является костылём, не описан в стандартах, и навязан Microsoft в Internet Explorer. То что его добавили в остальные браузеры для совместимости с IE погоды не делает.

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

62. "Разработчики Mozilla представили html2dom, альтернативу inne..."  –1 +/
Сообщение от Аноним (??) on 25-Сен-13, 18:42 
> Во-первых, она революционно изменит весь подход к программированию в браузере, заставив
> отказаться от innerHTML

Заставит использовать стандартные методы, а не костыль, добавленный в Internet Explorer.

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

63. "Разработчики Mozilla представили html2dom, альтернативу..."  +1 +/
Сообщение от arisu (ok) on 25-Сен-13, 18:47 
> innerHTML является костылём, не описан в стандартах, и навязан Microsoft в Internet
> Explorer. То что его добавили в остальные браузеры для совместимости с
> IE погоды не делает.

вообще-то, в документе от whatwg innerHTML ещё как описан. вместе с outerHTML и insertAdjacentHTML. you're welcome: http://domparsing.spec.whatwg.org/#extensions-to-the-element...

Ответить | Правка | ^ к родителю #61 | Наверх | Cообщить модератору

64. "Разработчики Mozilla представили html2dom, альтернативу..."  +1 +/
Сообщение от arisu (ok) on 25-Сен-13, 18:50 
> Заставит использовать стандартные методы

то есть, HTML5 не использовать, потому что он не стандарт (а в HTML5 это свойство есть, см. #63)… стой! а ведь в до-HTML5 и DOMParse того-с… отсутствует! долой библиотеку, которая использует нестандартный интерфейс!

Ответить | Правка | ^ к родителю #62 | Наверх | Cообщить модератору

65. "Разработчики Mozilla представили html2dom, альтернативу inne..."  +/
Сообщение от vn971 (ok) on 25-Сен-13, 18:53 
может быть потому что GWT уже сам всё проэскэйпил?
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

66. "Разработчики Mozilla представили html2dom, альтернативу..."  –2 +/
Сообщение от Аноним (??) on 25-Сен-13, 18:54 
В whatwg скорее констатация фактического положения, некий стандарт де-факто. Официальный http://www.w3.org/TR/DOM-Parsing/ пока на стадии черновика.
Ответить | Правка | ^ к родителю #63 | Наверх | Cообщить модератору

67. "Разработчики Mozilla представили html2dom, альтернативу inne..."  +/
Сообщение от Crazy Alex (ok) on 25-Сен-13, 19:39 
Да начхать кто придумал полезную возможность. Доступна всем - что еще надо?
Ответить | Правка | ^ к родителю #61 | Наверх | Cообщить модератору

68. "Разработчики Mozilla представили html2dom, альтернативу..."  +3 +/
Сообщение от arisu (ok) on 25-Сен-13, 20:30 
ага, официально у нас HTML5 не особо есть — однако никого это не останавливает.
Ответить | Правка | ^ к родителю #66 | Наверх | Cообщить модератору

69. "Разработчики Mozilla представили html2dom, альтернативу inne..."  +/
Сообщение от Аноним (??) on 25-Сен-13, 22:44 
А у нас все браузеры идеально поддерживают спецификацию? Хотя бы распространенные? Хоть один?
Ответить | Правка | ^ к родителю #34 | Наверх | Cообщить модератору

70. "Разработчики Mozilla представили html2dom, альтернативу inne..."  +/
Сообщение от Аноним (??) on 26-Сен-13, 00:27 
GWT овнище тормозное, не сильно сложный проект с несколькими окнами а-ля проводник + топология сети в виде значков весит 40 метров, тормозит страшно, на мобильных девайсах через одно работает - только на тех, для которых в GWT условно говоря ifdef прописан.
Аналогичное приложение на js + jquery и kendo - порхает как бабочка.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

71. "Разработчики Mozilla представили html2dom, альтернативу inne..."  +/
Сообщение от Sabakwaka (ok) on 26-Сен-13, 03:02 
А ты намерен «избежать инжекции»?
Каким путём?
Предоставлением для посещений своего личного, свободного от малвари сайта?
А как это «избежит от инжекции» в отношении миллиончика не твоих сайтов?
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

72. "Разработчики Mozilla представили html2dom, альтернативу inne..."  +1 +/
Сообщение от Аноним 2 on 26-Сен-13, 03:11 
Учи мат часть. innerHTML всегда автоматом закрывал теги
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

73. "Разработчики Mozilla представили html2dom, альтернативу inne..."  +/
Сообщение от Аноним (??) on 27-Сен-13, 14:32 
о, есть десятки проектов на тему, вы удивитесь.
из них - добрая треть концентрируется на отсечении 3-rd party контента.
остальные - на enforce-инге HTTPS/HSTP, веб-сокетов итп, замене кукисов на странных, но легковесных мутантов керберос и ldap, но ISC и IETF не спешит это утверждать. оно и понятно, персонал АНД и Оффиса Директора НАцразведки, Госдеп - не зря З/П получают ;)
Ответить | Правка | ^ к родителю #71 | Наверх | Cообщить модератору

74. "Разработчики Mozilla представили html2dom, альтернативу..."  +/
Сообщение от kurokaze (ok) on 28-Сен-13, 19:38 
Да, этот мир несовершенен. Теперь ты знаешь это
Ответить | Правка | ^ к родителю #68 | Наверх | Cообщить модератору

75. "Разработчики Mozilla представили html2dom, альтернативу inne..."  +/
Сообщение от kurokaze (ok) on 28-Сен-13, 19:40 
>какого хрена ещё в браузерах не внедрили интерпретируемый x86-ассембле

Ты хоть на ассемблере писал то? Спрашиваю потому как у тебя типично хейтерский пост получился

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

76. "Разработчики Mozilla представили html2dom, альтернативу inne..."  +/
Сообщение от A.N. Onim on 29-Сен-13, 17:04 
Я не фанат GWT, но 40 МБ приложение показывает только экстремальную кривизну рук программистов такого приложения. Не самое маленькое приложение, с extGWT во все поля (плюс ещё пара-тройка библиотек) за мегабайт так и не перешагнуло. И это без оптимизации.
Ответить | Правка | ^ к родителю #70 | Наверх | Cообщить модератору


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру