Комментарии 10
Мне казалось, что W3C уже давно отказались от DTD в пользу XML Schema.
Согласен, валидация по схеме не имеет перечисленных недостатков, т.к. схема не является частью самого XML-документа. Но мало ли — вдруг хакер решит проверить, не забыли ли вы отключить валидацию входящих документов по DTD.
Я вообще только XML Schema использовал, про DTD даже не слышал.
Они отказались от DTD в HTML, и не в пользу XML Schema, а просто отказались. Им было лень писать DTD, который, по моему мнению, несколько более читабельный, чем схема, особенно что касается наследования элементов.
Nokogiri и подобные либы, этому подвержены?
Не знаю, предлагаю проверить самостоятельно, пользуясь примерами из поста.
Посмотрел доку тут: nokogiri.org/Nokogiri/XML/ParseOptions.html — на вид это обычный binding к libxml2. Т.е. при включенной опции NOENT и выключенной опции NONET все бомбы, кроме первой, должны сработать. После обновления до версии libxml2 из git может перестать работать вторая бомба.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Как сделать бомбу из XML