forum.wfido.ru  

Вернуться   forum.wfido.ru > Прочие эхи > RU.FTN.DEVELOP

Ответ
 
Опции темы Опции просмотра
  #1  
Старый 29.06.2018, 19:53
Mithgol the Webmaster
Guest
 
Сообщений: n/a
По умолчанию Исправление ошибки в*движке генерации*НTML для*гипертекстового Фидонета

Mithgol the Webmaster написал(а) к All в Jun 18 03:45:06 по местному времени:


Вечером 27*июня я*с*неудовольствием увидел, как*в*RSS-потоке на*основе моего фидонетовского блога (эхоконференции Ru.Blog.Mithgol) из*сообщения area://Ru.Blog.Mithgol?msgid=2:50/88+5b334ae7 создаётся такой*НTML, в*котором посередине*мусор, и*некоторые строгие читальники (сайт*LiveJournal, например) даже отказываются воспроизводить эту*блогозапись далее*середины.

Уделив несколько*часов отладке, я*убедился в*том, что*моему*движку абстрактных синтаксических деревьев, лежащему в*основе генерации кода*НTML из*фидопочты, недоставало рекурсии, поэтому при*определённых обстоятельствах (впервые*так сложившихся за*много*лет работы над*этой*затеей) специальные символы внутри альтернативного*текста (призванного заменить*собою некоторую*картинку в*случае невозможности показать*её) могли*быть незаэкранированы и*порушить стройность окружающего гипертекста.

Движок я*починил, но*теперь всем*пользователям, использующим какое*угодно из*моих фидонетовских приложений, имеющих*дело с*гипертекстом, предлагаю пренепременно обновиться по*шагам:

1) Скопировать конфигурацию приложения в*безопасное*место.

2) Стереть приложение.

3) Заново установить по*инструкции (файл*README на*сайте*приложения на*GitНub).

4) Заново накатить ранее*скопированную конфигурацию.

Шаги 1 и*4 нужны только в*том случае, когда у*приложения есть*конфигурация, хранящаяся в*файле. (Например, у*Fido2RSS её*нет, а*приложение управляется из*командной*строки.)

Прежде всего необходимость обновления касается пользователей приложений Fido2RSS, PhiDo, FidoEdit, fido2twi и*twi2fido.

Обновление это я*рекомендую совершить с*разумною быстротою, не*откладывая на*целую*неделю, например. На*то есть две*причины.

Первая*причина заключается в*том, что*для*обновления требуется соединение с*Интернетом (а*в*случае с*PhiDo или*FidoEdit ── ещё*и*достаточно хорошее, потому*что скачивать сотни мегабайтов). Между*тем с*1*июля в*действие вступает печально*известный закон*Яровой, во*много-много раз (по*некоторым сведениям ── на*порядки) увеличивающий издержки провайдеров, так*что Сеть*Интернет в*России во*второй половине*года ждёт такое мрачное будущее, которое никто*из*нас, возможно, даже*и*вообразить сейчас не*в*состоянии. Лучше управиться до*этого.

Вторая*причина заключается в*том, что*всякая такая ошибка, которая в*код*НTML позволяет при*некоторых обстоятельствах насовать неэкранированные спецсимволы, способна привлечь внимание пытливых личностей, которые путём ряда*экспериментов могут*попробовать создать уязвимость XSS с*её*помощью. Успех этих*экспериментов я*не*исключаю.

Что*же*касается читателей моего*блога, то*им поневоле пришлось*увидать, что*сообщение от*00:53:08 28*июля содержит несколько тех микроблогозаписей из*Твиттера, которые в*предшествующем сообщении (11:29:26 27*июля) были*уж однажды выложены в*Фидонете. Такое*дублирование было*совершено для*проверки (и*то проверочное сообщение, в*каком у*меня ошибка проявилась вчера, было*среди продублированных), и*проверка показала, что*ранее*обнаруженная ошибка была*мною устранена. Исходному*коду я*также устроил покрытие дополнительными тестами, исключающими её*появление обратно.


* изначально написано в эхоконференцию Ru.Blog.Mithgol
* также было отослано в эхоконференцию Ru.FTN.Develop


Фидонет будет великим и гипертекстовым! [Ru.Mozilla] http://Mithgol.Ru/
Mithgol the Webmaster. [Братство Нод] [Team А я меняю subj]

... Надпись на зеркале: "Другие не лучше". (Александр Дашевский)
--- Эшелону: zipgun налоги TRV ERV rednoise психические военные действия СССР
Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 01:40. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot