Бесплатно Как написать безопасный код на JS

Everest_RR

Местный
Private Club
Регистрация
8/10/18
Сообщения
232
Репутация
20
Реакции
255
RUB
0
1200px-Unofficial_JavaScript_logo_2.svg.png

Как написать безопасный код на JS

Причины сложности создания безопасного кода.

Причина 1. JavaScript представляет собой язык, который легко интерпретировать. В таком случае компилятор спустя время перестанет помогать при написании оптимального кода. Он перестанет показывать ошибки и неточности, которые легко допустить, учитывая характеристики языка.

Причина 2. Основными характеристиками JavaScript являются:

 динамичность;

 асинхронность;

 слабая типизация.

При таких особенностях языка ошибиться может даже профессиональный и опытный программист.

Причина 3. Сложные и прихотливые возможности JavaScript. Язык предусматривает использование:

 прототипов;

 функций первого класса;

 замыканий.

Смысл использования прототипов состоит в том, чтоб указанные в скрипте объекты могли унаследовать от других объектов (прототипов) изменяемые свойства. То есть, при изменении в JS в среде рантайм некоторых свойств объектов, эти изменения моментально отобразятся на объектах, которые являются производными от этого прототипа.

Использование гибких функций первого класса позволяет создавать, удалять и видоизменять свойства объектов прямо в исполнительной среде рантайм.

Принцип замыкания состоит в том, что при помещении одной функции в другую, данные внешней стают открытыми для внутренней функции. При завершении внешней функции перемены и аргументы остаются актуальны для внутренней.

Эти гибкие и динамичные возможности JavaScript делают написание безопасного кода на JS сложным. При этом программисты неуклонно разрабатывают приложения, используя этот язык при учете указанных динамических характеристик.

Причина 4. Тесный контакт между JavaScript и DOM. Необходимость взаимодействия объясняется потребностью бесперебойного и легкого обновления страницы. В JavaScript интернет-страница представленаобъектной моделью DOM. Она только отображает версии HTML/XML документов. DOM владеет личным программным интерфейсом. Также страницу браузера можно обновить параллельно передачи информации с сервера. При внесении коррективов в DOM изменения отображаются через браузер. Недостатком такого тесного взаимодействия является легкость повреждения участка кода, отвечающего за контакт DOM и JS.

Причина 5. Сложные взаимодействия между событиями в приложении. Кроме событий, задаваемых пользователем (event-driven), существует ряд асинхронных и неуправляемых событий, которые происходят автоматически по установленному времени и по другому принципу. Установить такие неконтролируемые события очень непросто.

Эти причины обуславливают создание сложного для понимания и расшифровки JS кода. Для создания безопасного кода программисты и разработчики используют специальные программы-утилиты:

 для тестирования кода на JS;

 для статического анализа;

 для динамического анализа.

Какой бы тяжелой и затруднительной работа с JS не была, вооружившись терпением и специальными программами, можно обнаружить ошибки и исправить самые затейливый код.
Читать статью на:
 
Сверху Снизу