Re[5]: xhtml vs...
От: Mamut Швеция http://dmitriid.com
Дата: 15.03.10 12:34
Оценка:
k>> Не спорю, не спорю. Тихонько удаляюсь, ибо мешать объяснять c-smile'у на пальцах про стандарты HTML ни в коем разе не собирался
S>Хреново он объясняет... Его послушать, так все правила надо вообще убрать. Что после этого будет — объяснять?

Он такого не говорит.


dmitriid.comGitHubLinkedIn
Re: Нет, недостаточно
От: Mamut Швеция http://dmitriid.com
Дата: 15.03.10 12:36
Оценка:
c>> Медальки "W3C HTML Working Group, Invited Expert" достаточно тебе будет?

S>Недостаточно, раз ты с этой медалькой утверждаешь что XHTML помер, а также в качестве доказательств приводишь некий проект гугла, а не w3c.

S>Пройди еще раз тест (или что там надо сделать кстати? мне тоже интересно. ) на эту медальку.

Перевожу специально для тупых:
«Рабочая группа HTML, пришлашенный эксперт».

Никакими тестами ты не станешь приглашенным экспертом в рабочую группу HTML.


А то, что показал тебе c-smile — 'то просто таблица совместимости, собранная добрыми дядями в одном месте, чтобы всякие идиоты могли, глядя на нее, сразу видеть, что к чему, а не лазить в поисках той же информации по десяткам других сайтов, и натыкаться на особенности реализации той или иной фичи в разных браузерах


dmitriid.comGitHubLinkedIn
Re[3]: Нет, недостаточно
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 15.03.10 12:46
Оценка:
Здравствуйте, ., Вы писали:

.>On 15/03/2010 11:38, kochetkov.vladimir wrote:


>> Как правило, при эксплуатации XSS ничего не мешает "генерить" на выходе

>> strict-html.
.>При генерации xml такой функции как "вставить кусок текста введённый пользователем" просто нет. Приходится явно всё обрабатывать, иначе всё будет выводиться аккуратно заэскейпленное, как в SQL bind-параметры.



index.php:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
  <head>
    <title>XHTML 1.0 Strict Test</title>
  </head>
  <body>
    <p>Foo: <?php echo ($_GET['foo'] ? $_GET['foo'] : 'undefined'); ?></p>
  </body>
</html>


Лезем туда: http://localhost/?foo=%3Cscript%3Ealert('xss');%3C/script%3E и получаем старый-добрый XSS
... << RSDN@Home 1.2.0 alpha 4 rev. 1437>>

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[4]: Нет, недостаточно
От: . Великобритания  
Дата: 15.03.10 12:56
Оценка: +1
On 15/03/2010 14:46, kochetkov.vladimir wrote:

> <p>Foo:<?phpecho ($_GET['foo'] ? $_GET['foo'] :'undefined'); ?></p>


> получаем старый-добрый XSS

Это понятно. По большому счёту это не генерация xml, а обычный текст.
Я не то имел в виду, а client-side, всякий там javascript и document.write().
Если же работать с XML как c XML, а не с текстом, то таких проблем не будет.
Posted via RSDN NNTP Server 2.1 beta
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[5]: Нет, недостаточно
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 15.03.10 13:00
Оценка:
Здравствуйте, ., Вы писали:

.>On 15/03/2010 14:46, kochetkov.vladimir wrote:


>> <p>Foo:<?phpecho ($_GET['foo'] ? $_GET['foo'] :'undefined'); ?></p>


>> получаем старый-добрый XSS

.>Это понятно. По большому счёту это не генерация xml, а обычный текст.
.>Я не то имел в виду, а client-side, всякий там javascript и document.write().
.>Если же работать с XML как c XML, а не с текстом, то таких проблем не будет.

Сорри, не понял сразу о чем речь
... << RSDN@Home 1.2.0 alpha 4 rev. 1437>>

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[3]: Нет, недостаточно
От: c-smile Канада http://terrainformatica.com
Дата: 15.03.10 22:07
Оценка: 26 (3)
Здравствуйте, MozgC, Вы писали:

MC>Здравствуйте, c-smile, Вы писали:


MC>>>Я правильно понимаю, что на данный момент сайт лучше всего делать с HTML 4.01 Strict?


CS>>HTML5 он в себя включает в качестве базы HTML4 ( отличия )

CS>>и будет достаточно. Тем самым ты говоришь что ты делаешь стандартный HTML и всякие quirks modes тебя не интересуют.
CS>>И твой сайт будет работать и для старых и для новых UAs.

MC>UA — это браузер?


User Agent это групповое имя приложений которые интерпретируют HTML, браузер в том числе.

MC>А разве такой доктайп поддерживается старыми браузерами? Как будут себя вести современные и новые браузеры с таким doctype? Я думал что этот doctype говорит об использовании HMTL5.

MC>Раскрой, пожалуйста, этот вопрос чуть подробнее?

DOCTYPE is only needed to enable standards mode for documents written using the HTML syntax. Browsers already do this for <!DOCTYPE html>.

http://www.w3.org/TR/html5-diff/#doctype

На самом деле (т.е. на практике) все свелось к тому что нужно различать IE content с его багами и "современный" контент.
Наличие <!DOCTYPE... говорит о том что контент "современный" и CSS отрабатывается стандартным образом.
Парсинг HTML во всех UA из большой пятерки делается одним и тем же кодом для всех <!DOCTYPE вариаций (насколько я знаю).
Т.е. даже XHTML парсится как HTML, во всяком случае использует те же правила error recovery.

Т.е. ты можешь написать мусор типа
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<body>
  Argh!
</html>

(что явно не есть XML) и любой браузер его благополучно покажет. А те браузеры что это не покажут на рынке не задержатся.
Т.е. XHTML это фикция. HTML/XHTML имеет смысл толко когда ты сериализуешь живой DOM. В этом случае ты можешь попросить выдавать нечто что может быть обработанно XML парсером потом.
При чтение XMLость HTMLя до фени.
Re: Нет, недостаточно
От: c-smile Канада http://terrainformatica.com
Дата: 15.03.10 22:22
Оценка:
Здравствуйте, ., Вы писали:

.>On 15/03/2010 01:42, c-smile wrote:

>> Т.е. XHTML по природе своей не допускает incremental rendering.
.>Как это? А SAX-parser?

А какое отношение SAX-parser имеет к rendering?

>> То же самое ограничение и с функцией document.write() — в XHTML она

>> просто не доступна. Есть еще несколько ограничений.
.>А она просто и не нужна.

Я тоже так считаю но тем не менее в HTML5 оно есть и будет. Как же еще то тебя рекламу донести

>> причинам. Скажем если твоя страница собирается как результат разных

>> модулей то ты должен гарантирвать что все компоненты выдают именно XML.
.>Это явно лучше, чем просто "набор байт", который непонятно как собирать.

Что именно "явно лучше"?

По поводу "непонятно как собирать". Собственно HTML5 он как раз об этом — это первый стандарт в котором постулируются error recovery механизмы.
Т.е. фактически markup:
<body>Ку-ку!</html>
валиден в том смысле что язык допускает пропущенные тэги и специфицирует способ их восстановления.

>> А если например там еще участвуют фрагменты введенные человеком то

>> вообще все плохо.
>> Скажем у тебя вдруг проскочила конструкция: "<p>One<br>Two</p>". В
>> случае XHTML весь твой сайт идет в /dev/null. Броузер не обязан
>> показывать такую страницу т.к. ты сам его об этом попросил.
.>И правильно. Хоть какая-то защита от XSS.

Это не защита. В смысле вообще.

.>А если придёт конструкция "<p>One<brTwo</p>" — что должно нарисоваться и почему?


If a user agent encounters an element it does not recognize, it should try to render the element's content.

Re[4]: Нет, недостаточно
От: MozgC США http://nightcoder.livejournal.com
Дата: 15.03.10 22:45
Оценка:
Здравствуйте, c-smile, Вы писали:

MC>>А разве такой доктайп поддерживается старыми браузерами? Как будут себя вести современные и новые браузеры с таким doctype? Я думал что этот doctype говорит об использовании HMTL5.

MC>>Раскрой, пожалуйста, этот вопрос чуть подробнее?

CS>

CS>DOCTYPE is only needed to enable standards mode for documents written using the HTML syntax. Browsers already do this for <!DOCTYPE html>.

CS>http://www.w3.org/TR/html5-diff/#doctype

CS>На самом деле (т.е. на практике) все свелось к тому что нужно различать IE content с его багами и "современный" контент.

CS>Наличие <!DOCTYPE... говорит о том что контент "современный" и CSS отрабатывается стандартным образом.
CS>Парсинг HTML во всех UA из большой пятерки делается одним и тем же кодом для всех <!DOCTYPE вариаций (насколько я знаю).
CS>Т.е. даже XHTML парсится как HTML, во всяком случае использует те же правила error recovery.

1) Я правильно понимаю, что и DOCTYPE HTML 4.01 Strict и DOCTYPE HTML просто сообщают UA что надо включить Standards mode и использовать соответствующий стандарт (HTML 4.01 для DOCTYPE HTML 4.01 Strict и HTML5 для DOCTYPE HTML) при отрисовке страницы?
2) А DOCTYPE HTML 4.01 Transitional сообщает что надо включать Almost standards mode?
3) Будет ли разница в отображении страницы при указании DOCTYPE HTML 4.01 Strict и при указании DOCTYPE HTML?
4) Или разница только в валидации?
5) Если только в валидации то как UA будет понимать по какому стандарту отображать страницу? Походу ответ на третий вопрос — да. А на 4-й — нет?

Сорри за столько вопросов. То ли я тупой, то ли тема какая-то заморочная..

CS>Т.е. ты можешь написать мусор типа

CS>
CS><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
CS><body>
CS>  Argh!
CS></html>
CS>

CS>(что явно не есть XML) и любой браузер его благополучно покажет. А те браузеры что это не покажут на рынке не задержатся.
CS>Т.е. XHTML это фикция. HTML/XHTML имеет смысл толко когда ты сериализуешь живой DOM. В этом случае ты можешь попросить выдавать нечто что может быть обработанно XML парсером потом.
CS>При чтение XMLость HTMLя до фени.

Угу, об этом я читал.
Re[2]: Нет, недостаточно
От: . Великобритания  
Дата: 15.03.10 23:52
Оценка: 8 (1) +1
On 16/03/2010 00:22, c-smile wrote:

> .>Как это? А SAX-parser?

> А какое отношение SAX-parser имеет к rendering?
Парсишь и тут же рендеришь. А каким же образом XHTML не допускает incremental rendering?

> Я тоже так считаю но тем не менее в HTML5 оно есть и будет. Как же еще

> то тебя рекламу донести
Мда...
А чем DOM-фунцкии плохи для рекламы?

>> > причинам. Скажем если твоя страница собирается как результат разных

>> > модулей то ты должен гарантирвать что все компоненты выдают именно XML.
> .>Это явно лучше, чем просто "набор байт", который непонятно как собирать.
> Что именно "явно лучше"?
Два куска текста "X<Y" и "A>B" как собрать? И что должно получиться?
И ещё интересно как там с кодировками...

> По поводу "непонятно как собирать". Собственно HTML5 он как раз об этом

> — это первый стандарт в котором постулируются error recovery механизмы.
> Т.е. фактически markup:
> <body>Ку-ку!</html>
> валиден в том смысле что язык допускает пропущенные тэги и специфицирует
> способ их восстановления.
В общем я не понимаю накой. Специфицировать кривые руки программистов?

> .>И правильно. Хоть какая-то защита от XSS.

> Это не защита. В смысле вообще.
Почему?

> .>А если придёт конструкция "<p>One<brTwo</p>" — что должно нарисоваться

> и почему?
>
> If a user agent encounters an element it does not recognize, it
> should try to render the element's content.
Так это было с рождения HTML,если элемент неизвестен, то игнорировать.
А тут другой случай. "<brTwo" это элемент такой? Как интерпретировать совершенный бред в разметке?
Posted via RSDN NNTP Server 2.1 beta
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[5]: Нет, недостаточно
От: c-smile Канада http://terrainformatica.com
Дата: 16.03.10 00:42
Оценка:
Здравствуйте, MozgC, Вы писали:

CS>>На самом деле (т.е. на практике) все свелось к тому что нужно различать IE content с его багами и "современный" контент.

CS>>Наличие <!DOCTYPE... говорит о том что контент "современный" и CSS отрабатывается стандартным образом.
CS>>Парсинг HTML во всех UA из большой пятерки делается одним и тем же кодом для всех <!DOCTYPE вариаций (насколько я знаю).
CS>>Т.е. даже XHTML парсится как HTML, во всяком случае использует те же правила error recovery.

MC>1) Я правильно понимаю, что и DOCTYPE HTML 4.01 Strict и DOCTYPE HTML просто сообщают UA что надо включить Standards mode и использовать соответствующий стандарт (HTML 4.01 для DOCTYPE HTML 4.01 Strict и HTML5 для DOCTYPE HTML) при отрисовке страницы?


HTML 4.01 и HTML5 с точки зрения parsing идентичны. В HTML5 есть новые фичи.
Т.е. HTML5 броузер будет парсить HTML 4.01 как будто это HTML5. Какой бы там DOCTYPE не был.

MC>2) А DOCTYPE HTML 4.01 Transitional сообщает что надо включать Almost standards mode?


Проблема с Transitional в том что никто толком не знает что такое "Almost standards mode". У Мозиллы свое понятие о том а у IE другое.
И обрати внимание на дату документа: https://developer.mozilla.org/en/Gecko's_%22Almost_Standards%22_Mode

MC>3) Будет ли разница в отображении страницы при указании DOCTYPE HTML 4.01 Strict и при указании DOCTYPE HTML?


Не должно быть разницы если не используются новые фичи HTML5.

MC>4) Или разница только в валидации?

MC>5) Если только в валидации то как UA будет понимать по какому стандарту отображать страницу? Походу ответ на третий вопрос — да. А на 4-й — нет?

Что значит "по какому стандарту отображать страницу"? Отображение задается CSS который ортогонален HTML.

MC>Сорри за столько вопросов. То ли я тупой, то ли тема какая-то заморочная..


Просто надо понимать разницу между HTML и CSS. HTML (как язык) отображения практически никак не касается.
<DOCTYPE> на самом деле это фактически директива указывающая какой default CSS набор использовать.
Типа вот этого: http://www.w3.org/TR/CSS2/sample.html А эта штука идентичная для HTML 4 и 5 (для общих элементов).

Т.е. DOCTYPE HTML 4.01 Strict и DOCTYPE HTML фактически это одно и то же для browser.
Re[3]: Нет, недостаточно
От: c-smile Канада http://terrainformatica.com
Дата: 16.03.10 00:56
Оценка:
Здравствуйте, ., Вы писали:

.>On 16/03/2010 00:22, c-smile wrote:


>> .>Как это? А SAX-parser?

>> А какое отношение SAX-parser имеет к rendering?
.>Парсишь и тут же рендеришь. А каким же образом XHTML не допускает incremental rendering?

Чего рендеришь? Invalid XML? А если в конце тебе closing </html> не приедет? Или оно в какой-то момент окажется не well formed что я должен с твоим контентом делать?
Стирать всю красоту с экрана и писать Error at line ... Not valid XML?
Если у тебя какие-то данные идут в XML и тот XML вдруг станет не валиден, ты будешь те данные всё равно использовать? Или как?

>> Я тоже так считаю но тем не менее в HTML5 оно есть и будет. Как же еще

>> то тебя рекламу донести
.>Мда...
.>А чем DOM-фунцкии плохи для рекламы?

Фиг его знает. У меня document.write() нет

>>> > причинам. Скажем если твоя страница собирается как результат разных

>>> > модулей то ты должен гарантирвать что все компоненты выдают именно XML.
>> .>Это явно лучше, чем просто "набор байт", который непонятно как собирать.
>> Что именно "явно лучше"?
.>Два куска текста "X<Y" и "A>B" как собрать? И что должно получиться?
.>И ещё интересно как там с кодировками...

Как собрать? А как придется. Во всяком случае даже если оно не валидно (например частично загрузилось) ты должен что-то показать ибо там может быть life critical информация.

>> По поводу "непонятно как собирать". Собственно HTML5 он как раз об этом

>> — это первый стандарт в котором постулируются error recovery механизмы.
>> Т.е. фактически markup:
>> <body>Ку-ку!</html>
>> валиден в том смысле что язык допускает пропущенные тэги и специфицирует
>> способ их восстановления.
.>В общем я не понимаю накой. Специфицировать кривые руки программистов?

Если бы строители строили здания так же, как программисты пишут программы, первый залетевший дятел разрушил бы цивилизацию.


Представь себе что ты пишешь RSS интегратор. Там html идет из разных источников тебе не подконтрольных.
Твои действия?

>> .>И правильно. Хоть какая-то защита от XSS.

>> Это не защита. В смысле вообще.
.>Почему?

Это к мессиру kochetkov.vlad, он тебе объяснит.

>> .>А если придёт конструкция "<p>One<brTwo</p>" — что должно нарисоваться

>> и почему?
>>
>> If a user agent encounters an element it does not recognize, it
>> should try to render the element's content.
.>Так это было с рождения HTML,если элемент неизвестен, то игнорировать.
.>А тут другой случай. "<brTwo" это элемент такой? Как интерпретировать совершенный бред в разметке?

совершенный бред в разметке интерпретировать совершенно бредово. Но интерпретировать.
Re[6]: Нет, недостаточно
От: MozgC США http://nightcoder.livejournal.com
Дата: 16.03.10 01:27
Оценка:
Здравствуйте, c-smile, Вы писали:

MC>>4) Или разница только в валидации?

MC>>5) Если только в валидации то как UA будет понимать по какому стандарту отображать страницу? Походу ответ на третий вопрос — да. А на 4-й — нет?

CS>Что значит "по какому стандарту отображать страницу"? Отображение задается CSS который ортогонален HTML.


Ну допустим, между HTML 4.01 Transitional & Strict в некоторых ситуациях будет большая разница в отображении, т.е. в зависимости от DOCTYPE браузер будет по разному отображать страницу.
А между HTML 4.01 Strict & HTML 5 ты сказал не будет разницы.

CS>Просто надо понимать разницу между HTML и CSS. HTML (как язык) отображения практически никак не касается.

CS><DOCTYPE> на самом деле это фактически директива указывающая какой default CSS набор использовать.

Т.е. разница ТОЛЬКО в default CSS наборе? Вообще какая-то путаница получается: DOCTYPE указывает версию HTML, а разница в css наборе... как-то это не выглядит очевидно что ли. Или это только мне неочевидно?


Еще все-таки уточняющие вопросы:
1) Все ли браузеры (и как дела со старыми версиями, например IE6) понимают <!DOCTYPE HTML> ?
2) Страница написанная под HTML 4.01 Strict но с указанным <!DOCTYPE HTML> будет отображаться так же как если бы был указан DOCTYPE HTML 4.01 Strict?
3) Правильно ли я все-таки понимаю что <!DOCTYPE HTML> сообщает что страница написана по стандарту HTML5?
4) Default CSS наборы у HTML 4.01 Strict & HTML5 одинаковые?
5) Может ли Default CSS набор для HTML5 изменится в финальной версии HTML5?
6) Какие проблемы я могу поиметь если буду писать <!DOCTYPE HTML>?
Re[7]: Нет, недостаточно
От: c-smile Канада http://terrainformatica.com
Дата: 16.03.10 03:43
Оценка: 49 (6) :))
Здравствуйте, MozgC, Вы писали:

MC>Здравствуйте, c-smile, Вы писали:


MC>>>4) Или разница только в валидации?

MC>>>5) Если только в валидации то как UA будет понимать по какому стандарту отображать страницу? Походу ответ на третий вопрос — да. А на 4-й — нет?

CS>>Что значит "по какому стандарту отображать страницу"? Отображение задается CSS который ортогонален HTML.


MC>Ну допустим, между HTML 4.01 Transitional & Strict в некоторых ситуациях будет большая разница в отображении, т.е. в зависимости от DOCTYPE браузер будет по разному отображать страницу.


Ох ё моё... В каких еще ситуациях?

Короче.
Открывай http://www.w3.org/TR/html4/loose.dtd и
http://www.w3.org/TR/html4/strict.dtd
И сравнивай их с помощью скажем WinDiff или еще чего. Сразу увидишь в чем разница.
Например в Transitional (loose.dtd) у table есть атрибут bgcolor, а в Strict его уже нет.

Посмотрел?

А теперь забудь это все к ядреной фене ибо к реалиям это не имеет никакого отношения.

Вот тебе пример:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<body>
  <table bgcolor="yellow"><tr><td>WooHoo!</td></tr></table>
</body>
</html>


Strict и в ём bgcolor видишь? Если загрузишь это дело в свой любимый броузер то увидишь желтый background у таблицы. Хотя на заборе написано что он как бы не должен поддерживаеться.

Еще короче, если в начале страницы написано

<!DOCTYPE HTML {фигня всяка или ничего} >

то это инструкция броузеру грузить стандартный default style sheet. Он один на все разные DOCTYPEs.
Если же <!DOCTYPE нет то грузится quirks style sheet. Высё.

Вот тебе пример:
http://terrainformatica.com/tests/doctypes/all.htm

Отличие только между no-doctype (quirks mode) и всем остальным (обрати внимание на размер шрифта в таблице).
В IE была бага когда TD не наследовал font style от контейнера — это оно.

Ставь в своих документах <!DOCTYPE html> и забудь про эту проблему.

Блин, какая-то религия уже вокруг этих doctypes возникла ... Какой-то кретин их придумал и народ "верую" затянул.
Ну чего бы атрибут какой не ввести типа <html standard>...</html> уж если сильно надо...

А еще Шириданы всяки с XHTML пламенем в глазах ... Жуть.
Re[7]: Нет, недостаточно
От: skeptik_  
Дата: 16.03.10 04:11
Оценка: +1
Здравствуйте, MozgC, Вы писали:

MC>Еще все-таки уточняющие вопросы:

MC>1) Все ли браузеры (и как дела со старыми версиями, например IE6) понимают <!DOCTYPE HTML> ?

Они его не понимают, но незнакомый доктайп включает стандартный рендеринг, поэтому этот доктайп — то, что доктор прописал.
Re[4]: Нет, недостаточно
От: . Великобритания  
Дата: 16.03.10 08:26
Оценка:
On 16/03/2010 02:56, c-smile wrote:

> Чего рендеришь? Invalid XML? А если в конце тебе closing </html> не

> приедет? Или оно в какой-то момент окажется не well formed что я должен
> с твоим контентом делать?
> Стирать всю красоту с экрана и писать Error at line ... Not valid XML?
> Если у тебя какие-то данные идут в XML и тот XML вдруг станет не
> валиден, ты будешь те данные всё равно использовать? Или как?
Ааа... понятно. Вот это можно было бы предусмотреть стандартом — оборвать парсинг и в конце написать ошибку.

> .>Два куска текста "X<Y" и "A>B" как собрать? И что должно получиться?

> .>И ещё интересно как там с кодировками...
> Как собрать? А как придется. Во всяком случае даже если оно не валидно
> (например частично загрузилось) ты должен что-то показать ибо там может
> быть life critical информация.
Я имею в виду, что в случае xml есть вполне "типа-безопасный" API, где понятно, что есть текст, что есть разметка.

> Представь себе что ты пишешь RSS интегратор. Там html идет из разных

> источников тебе не подконтрольных.
> Твои действия?
Парсить это г хоть как-нибудь, возможно настраиваясь под конкретные источники.

> .>Почему?

> Это к мессиру kochetkov.vlad, он тебе объяснит.
Вроде он со мной согласился
Автор: .
Дата: 15.03.10
.

>> > If a user agent encounters an element it does not recognize, it

>> > should try to render the element's content.
> .>Так это было с рождения HTML,если элемент неизвестен, то игнорировать.
> .>А тут другой случай. "<brTwo" это элемент такой? Как интерпретировать совершенный бред в разметке?
> совершенный бред в разметке интерпретировать совершенно бредово. Но
> интерпретировать.
Так ведь опять получится та же история "а у нас под IE работает". Или бредовость будет оговорена стандартом?
Posted via RSDN NNTP Server 2.1 beta
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[5]: Нет, недостаточно
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 16.03.10 08:48
Оценка:
Здравствуйте, ., Вы писали:

>> .>Почему?

>> Это к мессиру kochetkov.vlad, он тебе объяснит.
.>Вроде он со мной согласился
Автор: .
Дата: 15.03.10
.


Я согласился с тем, что если использовать определенный способ генерации XML, то это вполне сойдет за один из способов безопасного экранирования недоверенных данных (в чем я уже не очень уверен — поверил на слово, но было бы здорово увидеть пример такого генерирующего кода). Дело в том, что мест (в размечаемом документе), где может случиться XSS довольно много и мне кажется, что даже правильная генерация в ряде случаев не поможет.

А сам XHTML едва ли можно назвать более безопасным (с т.з. информационных угроз) языком разметки, нежели его, менее строгие собратья.
... << RSDN@Home 1.2.0 alpha 4 rev. 1446>>

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[6]: Нет, недостаточно
От: . Великобритания  
Дата: 16.03.10 09:23
Оценка:
On 16/03/2010 10:48, kochetkov.vladimir wrote:

> Я согласился с тем, что *если* использовать определенный способ

> генерации XML, то это вполне сойдет за один из способов безопасного
> экранирования недоверенных данных (в чем я уже не очень уверен — поверил
> на слово, но было бы здорово увидеть пример такого генерирующего кода).
Да любой способ генерации XML: SAX, DOM, XSLT.
Там явно приходится описывать что есть текст, а что есть имя тега.

> Дело в том, что мест (в размечаемом документе), где может случиться XSS

> довольно много и мне кажется, что даже правильная генерация в ряде
> случаев не поможет.
По идее, если всё сделать правильно, то HTML-injection будет так же сложен как, SQL-injection при использовании Linq.

> А сам XHTML едва ли можно назвать более безопасным (с т.з.

> информационных угроз) языком разметки, нежели его, менее строгие собратья.
Просто HTML можно генерить только как обычный текст. Либо какие-то явные фунцкии print_escaped_text.

Но тут возникает вопрос — сейчас html популярен тем, что любой школьник может налабать хоумпагу и она кое-как кое-где, но нарисуется. Если же сделать это безопасно, то им станет пользоваться сложнее... Захотят ли это массы?..
Posted via RSDN NNTP Server 2.1 beta
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[4]: Нет, недостаточно
От: . Великобритания  
Дата: 16.03.10 09:28
Оценка: 8 (1) +2 -1
On 16/03/2010 02:56, c-smile wrote:

> Стирать всю красоту с экрана и писать Error at line ... Not valid XML?

Хотя если подумать, так наверное даже правильно. Криворукие программисты будут сразу получать по голове. Ведь никого сейчас не удивляет, что при обращении по неправильному указателю программа тут же падает по access violation. И вроде никто не хочет, чтобы она пыталась работать дальше как получится.
Posted via RSDN NNTP Server 2.1 beta
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[6]: Нет, недостаточно
От: c-smile Канада http://terrainformatica.com
Дата: 16.03.10 18:39
Оценка:
Здравствуйте, kochetkov.vladimir, Вы писали:

KV>А сам XHTML едва ли можно назвать более безопасным (с т.з. информационных угроз) языком разметки, нежели его, менее строгие собратья.


Ай опьять за рибу гроши...

Вот тебе как бы XHTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<body>
  One<br>Two
</html>


Сохрани его как xhtml.htm и открой.

Ну где тут "строгость"?

Если же ты его сохранишь как xhtml.xml или твой сервер будет сконфигурирован на отдание html файлов как application/xml
тогда ты получишь ошибку. И то не всегда.

Короче делать какие-то security assumptions по <!DOCTYPE это тоже самое что верить тому что написано на заборе.
Re[7]: Нет, недостаточно
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 16.03.10 19:54
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>Здравствуйте, kochetkov.vladimir, Вы писали:


KV>>А сам XHTML едва ли можно назвать более безопасным (с т.з. информационных угроз) языком разметки, нежели его, менее строгие собратья.


CS>Короче делать какие-то security assumptions по <!DOCTYPE это тоже самое что верить тому что написано на заборе.


дык я вроде об этом и говорил

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.