Реализовав в 1990 году первый в мире веб-браузер WorldWideWeb [1], Tim Berners-Lee заложил основной принцип организации гипертекстовых документов посредством коммуникационного взаимодействия пользователя с информационной системой через сеть Интернет. Такие достоинства, как структуризация информации, простота и привычность интерфейса, возможность удаленной работы и быстрота разработки веб-приложения, позволили веб-обозревателю стать одним из обязательных самостоятельных приложений в составе большинства операционных систем, а интернет-ресурсам – одним из стратегически важных и динамически развивающихся видов информационных ресурсов. Современный информационный ресурс сегодня представляет собой не просто статичный набор веб-страниц, а многофункциональный портал с использованием различных средств и технологий, в том числе и применением различных шаблонов для разных уровней вложенности.
Вместе с этим неотъемлемой частью полноценного безопасного функционирования информационного ресурса является его корректность. Это выражено не только тем, что «браузерный движок» веб-обозревателя для преобразования содержимого веб-страниц в интерактивное отображение использует собственную трактовку интернет-спецификаций, но и возможностью присутствия на информационном ресурсе функционально-некорректных конструкций. Таким образом, простая проверка того, что интернет-ресурс приемлемо функционирует в нескольких веб-браузерах, только показывает удовлетворяемое качество разработанного кода на текущий момент времени и не дает абсолютно никакой гарантии его правильного отображения в следующий раз. Существование такой проблемы также подтверждают внесенные в 2014 году при разработке спецификации HTML5 консорциумом W3C предложения по анализу структуры HTML-документа [9, п.п. 8.2.8].
Отчасти, это связано как с постепенно возрастающей сложностью веб-приложения, которая не позволяет разработчикам информационного ресурса своевременно контролировать качество написанного кода, так и отсутствием разработанных методов и программных инструментов для проведения такого комплексного анализа. Разработанный консорциумом W3C Validator Suite [12] позволяет проводить анализ корректности исходного кода информационного ресурса только по стандартам HTML и CSS [9, 10], что не позволяет полностью охватить все используемые технологии информационного ресурса. Более того, данное программное средство производит слишком строгий анализ на соответствие исследуемым стандартам. Другие веб-анализаторы, такие как Rational AppScan (IBM), Web Vulnerability Scanner (Acunetix), NTOSpider (NT Objectives, Inc.), NetSparker (Netsparker Ltd.), WebInspect (HP), Application Inspector (PT), SkipFish (Google) и др. направлены, в первую очередь, на получение оценки защищенности информационного ресурса.
Тем самым на текущий момент не предоставляется возможным своевременно отлавливать критические ошибки информационного ресурса. Это значит, что невозможно получить его достоверную оценку корректности функционирования и провести комплекс мероприятий, направленных на повышение общей безопасности интернет-ресурса. Корректность функционирования таких источников информации необходима и важна не только государственным, но и коммерческим организациям, чья деятельность подразумевает гарантированное предоставление услуг и информации в сети Интернет. Именно такие задачи при эксплуатации государственных информационных ресурсов общего пользования определены законодательными и нормативно-методическими документами Российской Федерации [3–6]. Это обуславливает необходимость проведения периодического мониторинга качества кода информационного ресурса при его создании (разработке) и эксплуатации. Поэтому задача исследования состоит как в разработке эффективной проверки функционирования исходного кода интернет-страниц информационного ресурса, так и в легкости применения разработанных средств. Разрабатываемый алгоритм требуемого программного обеспечения должен:
– иметь гибкую структуру для его модификации и расширения возможностей;
– использовать параллельные технологии для проведения эффективного анализа;
– проводить анализ доступности всех компонентов интернет-ресурса;
– учитывать основные составляющие технологии информационного ресурса;
– исследовать не только функционально-корректные конструкции, но и допустимость задания в них значений атрибутов, селекторов и т.д.;
– учитывать современные тенденции к формированию исходного кода интернет-страниц информационного ресурса с учетом использования системы управления содержимым (CMS).
В соответствии со сформированными условиями, алгоритм логично разделить на две составляющие:
– алгоритм анализа всех составляющих частей информационного ресурса (основной алгоритм проведения анализа);
– алгоритм анализа веб-страниц информационного ресурса (алгоритм работы веб-анализатора).
Главный цикл процесса анализа состоит из трех ключевых этапов: загрузка, анализ содержимого и анализ найденных интернет-ссылок для продолжения исследований [9]. Такое ключевое разделение с применением параллельных технологий на пользовательском уровне позволяет более эффективно использовать возможности не только процессорной системы, но и существующего канала связи, что дает перспективы для проведения более быстрого анализа больших информационных ресурсов за обозримое время.
Содержимое интернет-страницы в общем случае представляет собой совокупность нескольких веб-технологий. Основной технологией такого документа является HTML. Выпущенный в 2014 году стандарт HTML5, как приложение стандартного обобщённого языка разметки SGML, содержит только принципы для построения синтаксической схемы [9, п.п. 8.1]. Основными вспомогательными технологиями HTML-документа являются CSS и JavaScript. Стандарт HTML5 устанавливает взаимно-однозначное использование между данными технологиями.
Язык стиля CSS определен принятой в 2011 году спецификацией CSS2.1, в которой содержатся правила построения селекторов и свойств [4, п. 4, п. 10, Приложение G]. Разрабатываемая спецификация CSS3 и CSS4 существенно расширяет функциональность текущего стандарта, однако до сих пор (с 29 сентября 2011 года) не является рекомендованной консорциумом W3C.
Язык JavaScript является расширением языка ECMAScript 5.1 [10]. Учитывая тот факт, что каждый из веб-обозревателей является независимой разработкой, данный стандарт рассматривается как основа для построения скриптовых языков. Таким образом, основными составляющими языка JavaScript являются [11]:
– «клиентский» JavaScript (интерпретатор JavaScript, встраиваемый в веб-браузер);
– «базовый» JavaScript (язык JavaScript, определяемый спецификациями);
– Document Object Model (спецификация W3C DOM [12]).
И хотя спецификация ECMAScript 5.1 содержит синтаксические схемы [13, Приложение А], проведенное Крокфордом Д. исследование позволило сформировать используемые веб-обозревателями синтаксические схемы языка JavaScript [2], где основными функционально значимыми конструкциями являются «Объявление переменных», «Литерал функции», «Операторы» и «Пробел».
В результате проведенных выше заданных требований синтаксическая схема для проведения анализа интернет-страницы может быть сформирована следующим образом (рисунок).
Синтаксическая схема разбора интернет-страницы информационного ресурса
Таким образом, разработанная схема позволяет проводить анализ интернет-страниц информационного ресурса, выявляя функционально-некорректные структуры, нарушающие его полноценное безопасное функционирование.
Рецензенты:
Станкевич Г.А., д.э.н., профессор, ведущий научный сотрудник South IT-Uni, IBC, г. Москва;
Бихтер И.И., д.т.н., профессор, старший научный сотрудник сектора инновационных разработок АНОО ДПФО «Национальный центр прикладных исследований», г. Саратов.
Библиографическая ссылка
Быстрицкий Н.Д. АЛГОРИТМ АНАЛИЗА ИНТЕРНЕТ-СТРАНИЦ ИНФОРМАЦИОННОГО РЕСУРСА // Фундаментальные исследования. – 2015. – № 6-3. – С. 443-446;URL: https://fundamental-research.ru/ru/article/view?id=38638 (дата обращения: 17.08.2024).