<MyRusakov.ru />

Финансовая грамотность от А до Я

Финансовая грамотность от А до Я

Данный курс в кратчайшие сроки обучит Вас финансовой грамотности. Эти знания позволят Вам получить, как минимум, серьёзную финансовую стабильность, а, как максимум, финансовую независимость.

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

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

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

Что такое загрязнение прототипа в JavaScript?

Что такое загрязнение прототипа в JavaScript?

При установке пакетов из npm в консоли периодически отображаются предупреждения о том, что тот или иной javascript пакет загрязняет прототип. Что это означает и чем это может быть опасно сейчас в данной статье я вам и расскажу.

Начнем с того, что, для примера, переопределим встроенный метод push объекта Array своим собственным методом, при этом в коде мы сохраним ссылку на оригинальны метод, чтобы в конце вызвать его. Сделаем, мы это для того чтобы у конечного пользователя не возникли ошибки. Код далее:

// сохраняем ссылку на оригинальный метод
var _push = Array.prototype.push;

// определяем свой собственный метод
Array.prototype.push = function( item ) {

    // перед выполнением метода, выполняем некую операцию, 
    // например выведем в консоль некоторое значение
    console.log( 'некоторое значение' );

    // вызываем оригинальный метод
    _push.apply( this, arguments );

    // выполняем некоторую операцию после вызова оригинального метода.
    if( this.length > 1000 ) {
        console.warn( 'может быть здесь что-то не так' );
    }
}

Вся суть примера выше, сводится к тому, что JavaScript очень гибкий язык, поэтому, вы можете в собственном коде переопределять любой встроенный метод или же добавлять к существующему типу свои методы. Это плюс. Но с другой стороны это и минус, так в любой сторонней библиотеке (NodeJS), может быть встроена дополнительная, отнюдь далеко не безвредная функциональность.

Например, представим что вы установили через пакетный менеджер npm какую-то библиотеку, которая Вам необходима для разработки приложения. Эта библиотека имеет зависимости от сторонних разработчиков, в одной из которых может происходить загрязнение прототипа функции того же объекта Array. Теперь при каждом вызове метода push, код в этом поддельном методе может собирать любую доступную информацию на Вашем ПК, например, в том числе пароли, коды доступа, в общем много чего.

В результате чего вся Ваша система, и не только ваша, если кодом будут пользоваться другие, становится уязвима к различного рода атакам.

Поэтому данная статья призвана обратить Ваше внимание на такие, далеко не простые, но тем не менее важные вещи, касающиеся безопасности при разработке на NodeJS.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.