Лекция #3. Введение в языки разметки web-страницЯковенко Кирилл
Web-программирование
Лекция #3. Введение в языки разметки web-страниц
Цикл лекций читается в Омском государственном университете им. Ф.М.Достоевского на факультете компьютерных наук.
Лектор: Яковенко Кирилл Сергеевич.
Highload++ 2016: Автоматизация тестирования клиентской производительности (Ла...Лавлинский Николай
Клиентская производительность – бесконечный процесс. Разрабатываются новые фичи, меняется дизайн, технологии, браузеры – контролировать скорость нужно постоянно.
Здесь есть два принципиальных направления: синтетические тесты в тестовом окружении и сбор метрик у реальных пользователей. Оба этих направления важны, но мы сконцентрируемся на синтетических тестах и будем использовать их для оценки влияния изменений в приложении на клиентскую производительность как часть процесса тестирования.
Автоматизация тестирования клиентской производительности / Николай Лавлинский...Ontico
Клиентская производительность – бесконечный процесс. Разрабатываются новые фичи, меняется дизайн, технологии, браузеры – контролировать скорость нужно постоянно.
В этих условиях требуется автоматизированный процесс тестирования скорости клиентской части приложения. При этом тестировать нужно в настоящих браузерах, в максимально похожем на реальность окружении.
В этом докладе будем говорить о том, как совместить все эти требования и не потратить много месяцев на построение собственного "велосипеда". Предлагается рабочее решение задачи с использованием open source решения WebPagetest Private Instance. Рассмотрим основные достоинства и проблемы решения, а также способы использования этого инструмента.
Similar to CodeFest 2010. Родионов А. — Старые «фишки» IE или о двух уязвимостях на грани клиент-сервера (20)
CodeFest 2010. Родионов А. — Старые «фишки» IE или о двух уязвимостях на грани клиент-сервера
1. Старые «фишки» IE
или о двух уязвимостях
на грани клиент-
сервера.
Алексей Родионов
Development Mill
2. – Веб-безопасность и QA –
Тестирование на проникновение
Аудит
Тестирование защищённости
3. – Internet Explorer feature #1 –
Встроенная опция “Автоопределение кодировки”:
● пытается определить кодировку страницы,
последовательно проходя DOM
● встретив элемент с текстом внутри и
проанализировав его, определяет кодировку
● уязвимость присутствует только в версиях <=7
4. – Internet Explorer feature #1 –
Пример:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=utf-8" />
...
<title>Текст в кодировке UTF-7</title>
</head>
...
</html>
Результат: UTF-8
5. – Internet Explorer feature #1 –
Пример:
<html>
<head>
<title>Текст в кодировке UTF-7</title>
...
<meta http-equiv="Content-Type" content="text/html;
charset=utf-8" />
</head>
...
</html>
Результат: UTF-7
6. – Internet Explorer feature #1 –
Всегда объявляйте кодировку страницы в
элементе <meta> до элемента <title>
7. – Internet Explorer feature #2 –
Встроенный MIME сниффер:
● при получении файла с заголовком Content-type:
text/plain, пытается по его содержимому
определить настоящий MIME тип
● после определения MIME типа, в соотетствии с
ним обрабатывает файл
● уязвимость присутствует во всех версиях
8. – Internet Explorer feature #2 –
Пример:
содержимое файла test.txt
В данном текстовом файле присутствует
исключительно текст...
Результат:
Content-type: text/plain
9. – Internet Explorer feature #2 –
Пример:
содержимое файла test.txt
В данном текстовом файле присутствуют и обычный
текст, и HTML элемент <script>evil()</script>...
Результат:
Content-type: text/html
10. – Internet Explorer feature #2 –
Способы решения:
● отдавать HTTP заголовок X-Content-Type-Options:
nosniff (сработает только в IE8)
● не разрешать загрузку txt-файлов
● если txt-файлы жизненно необходмы, отдавать
HTTP заголовок Content-dispostion: attachment