Pull to refresh
0
0
Send message

Безопасность веб-приложений: анализ методов защиты от атак на уровне Backend

Level of difficulty Medium
Reading time 18 min
Views 3.7K

В современном мире, где цифровая трансформация становится неотъемлемой частью нашей повседневной жизни, веб-приложения занимают ведущее место, предоставляя доступ к огромному разнообразию услуг и информации. От онлайн-магазинов до банковских систем, от социальных сетей до систем управления данными - веб-приложения охватывают практически все аспекты нашего взаимодействия с цифровым миром.

Однако, с ростом функциональности и сложности веб-приложений, неизбежно возрастает и уровень угроз для их безопасности. Кибератаки становятся все более изощренными и масштабными, нацеленными на различные слои архитектуры приложений. Особенно уязвимым является уровень Backend, который обрабатывает и хранит критически важные данные, такие как данные пользователей, финансовая информация и другие конфиденциальные данные. Несанкционированный доступ к этим данным или их изменение могут привести к серьезным последствиям, как для пользователей, так и для организаций.

Целью данной работы является анализ и оценка методов защиты веб-приложений на уровне Backend от различных видов угроз и атак.

Читать далее
Total votes 6: ↑4 and ↓2 +2
Comments 2

Аутентификация для WebSocket и SSE: до сих пор нет стандарта?

Level of difficulty Medium
Reading time 21 min
Views 7.9K

WebSocket и SSE появились более десяти лет назад, однако до сих пор в стандартах отсутствуют рекомендации по решению задачи аутентификации для подобных соединений.

В статье разберем особенности аутентификации применительно к протоколу WebSocket и технологии Server-Sent Events, обсудим, какие нюансы могут быть, когда клиентская часть находится в браузере, и на что еще стоит обратить внимание, чтобы избежать неочевидных проблем.

А еще заодно поговорим про уязвимость Cross-Site WebSocket Hijacking (CSWSH) и в целом посмотрим на многие вопросы через призму информационной безопасности.

Читать далее
Total votes 53: ↑53 and ↓0 +53
Comments 5

Защита Home Assistant

Level of difficulty Medium
Reading time 6 min
Views 9.8K

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

И все это дельные советы, ничего плохого в них нет, но хочется чего то большего.

Читать далее
Total votes 16: ↑12 and ↓4 +8
Comments 21

Как работает сеть в контейнерах: Docker Bridge с нуля

Level of difficulty Medium
Reading time 21 min
Views 32K

В этой статье мы собираемся разобраться со следующими вопросами:

* Как виртуализировать сетевые ресурсы, чтобы контейнеры думали, что у них есть отдельные сетевые среды?

* Как превратить контейнеры в дружелюбных соседей и научить общаться друг с другом?

* Как выйти во внешний мир (например, в Интернет) изнутри контейнера?

* Как связаться с контейнерами, работающими на хосте Linux, из внешнего мира?

* Как реализовать публикацию портов, подобную Docker?

Читать далее
Total votes 71: ↑71 and ↓0 +71
Comments 14

Валидация входных данных в фильтрах Minimal API .NET, просто и без затей

Level of difficulty Medium
Reading time 6 min
Views 3.6K

В последние год-два снова набирает силу тенденция обращать самое пристальное внимание на производительность разрабатываемых приложений. Тема на самом деле непростая, поскольку производительность не на пустом месте появляется и требует значительных временных ресурсов и квалификации специалистов. В данной статье обсуждается эффективный способ валидации данных для .NET. Если C# входит в круг ваших интересов, если ваши коллеги обсуждают за кофе Minimal API, эта статья определённо для вас.

Читать далее
Total votes 8: ↑8 and ↓0 +8
Comments 26

Запуск проекта в Kubernetes за 60 минут: инструменты, GitLab, Terraform

Reading time 14 min
Views 13K


Привет, Хабр! Меня зовут Илья Нырков, я архитектор в VK Cloud. В своей работе встречаюсь с желанием партнеров (это и крупный энтерпрайз, и различные стартапы) использовать Kubernetes, но их останавливает сложность поднятия, конфигурирования кластера, деплоя в нём приложений и построения CI/CD-процессов вокруг него. Я постараюсь показать на практическом примере, который вы можете повторить сами, как развернуть за сравнительно небольшое время полноценный CI/CD с рабочим приложением, доступным для внешних пользователей.
Читать дальше →
Total votes 38: ↑37 and ↓1 +36
Comments 0

Фильтры действий в ASP.NET Core

Reading time 11 min
Views 5.8K

ASP.NET Core — это мощный и универсальный фреймворк для создания веб-приложений. Он предоставляет широкий набор возможностей для создания надежных и масштабируемых приложений, и одной из ключевых фич, расширяющих его функциональность, являются фильтры действий (Action Filters). Фильтры действий позволяют выполнять код до или после выполнения метода контроллера (или метода действия), что дает возможность добавить в приложение сквозной функционал.

В этой статье мы рассмотрим фильтры действий в ASP.NET Core, разберемся в их типах и научимся создавать пользовательские фильтры для расширения функциональности нашего веб-приложения.

Читать далее
Total votes 11: ↑9 and ↓2 +7
Comments 1

Как на самом деле работает Async/Await в C# (Часть 1)

Level of difficulty Hard
Reading time 12 min
Views 50K

Несколько недель назад в блоге «.NET Blog» появилась статья «Что такое .NET, и почему вы должны выбрать его?». В нем был представлен высокоуровневый обзор платформы, кратко описаны различные компоненты и архитектурные решения, а также обещаны более подробные посты по затронутым темам. Этот пост является первым таким продолжением, в котором подробно рассматривается история создания, архитектурные решения и детали реализации async/await в C# и .NET.

Читать далее
Total votes 18: ↑17 and ↓1 +16
Comments 8

Принцип работы async/await в JavaScript

Level of difficulty Medium
Reading time 8 min
Views 26K


Если вам доводилось работать с JavaScript, то вы наверняка встречались с синтаксисом async/await. Эта функциональность позволяет прописывать асинхронную логику синхронным образом, упрощая тем самым её понимание. Некоторым ветеранам JS известно, что async/await – это просто синтаксический сахар для существующего Promises API. Это означает, что в JS должен быть способ реализации функциональности async/await без использования ключевых слов async и await, хоть и более громоздкий. Именно об этом и пойдёт речь в данной статье.

Видео от автора на ту же тему.
Читать дальше →
Total votes 56: ↑55 and ↓1 +54
Comments 19

История появления загадочного символа «Х»

Level of difficulty Easy
Reading time 5 min
Views 8.7K

Букву «x» реже всего используют из всего английского алфавита, но она часто присутствует в американской культуре. «X» символизирует нечто неизвестное и таинственное. Достаточно вспомнить супергероев X-Men Стэна Ли, сериал «Секретные материалы», Илона Маска с его SpaceX, моделью «Х» от Tesla и теперь «Х» в качестве нового названия для Twitter.

В алгебраических задачах «x» используют в качестве переменной, которая представляет неизвестное значение. Но почему именно «x» выбрана для этой роли? Когда и где началась эта традиция? Некоторые ученые ссылаются на перевод, другие указывают на типографские причины.

Каждая теория имеет свои основания, но историки математики знают, что сложно с уверенностью сказать, как «x» получила свою роль в современной алгебре.

Читать далее
Total votes 17: ↑16 and ↓1 +15
Comments 4

120 лошадиных сил, которые изменили мир: история дизельного двигателя

Reading time 15 min
Views 40K

Тепловозы, корабли, нефтяные бурильные установки, грузовая и военная техника, тракторы, легковые автомобили, электростанции — список техники, в которой применяются дизельные двигатели, можно долго продолжать. 

В этом нет ничего удивительного — дизельный двигатель имеет несколько преимуществ в сравнении с тем же бензиновым ДВС. Например:
● выше КПД за счет большей степени сжатия и больше мощность;
● более неприхотлив к топливу — работает на бюджетной солярке (хотя для легковых авто дизельное топливо сейчас и стоит дороже АИ-92 — прим. автора);
● надежнее из-за отсутствия системы принудительного воспламенения топливовоздушной смеси и так далее.

Много лет легковых автомобилей с дизельным двигателем в Европе было больше, чем с бензиновым. Сейчас доля снижается, экологи после «Дизельгейта» и фейла Фольксвагена вопят о выбросах оксидов азота (хотя до этого с точки зрения выхлопа CO2 дизель считался более экологичным — прим. автора), а правительства продолжают регулировать отрасль и пытаются пересадить всех на электромобили. Однако в остальных сферах вроде грузовых или морских перевозок разумной альтернативы дизелю нет и вряд ли появится в ближайшем будущем. 

Давайте посмотрим на историю изобретения Рудольфа Дизеля и что было до него.

Читать далее
Total votes 57: ↑56 and ↓1 +55
Comments 56

Домашние печки и чайники постоянно пингуют заграничные хосты

Reading time 3 min
Views 32K


Домашние гаджеты — от холодильника до чайника — поумнели настолько, что теперь нуждаются в постоянной проверке сетевого подключения. Например, умные печки одного из производителей каждые пять минут пингуют три сервера:

  • google.com
  • baidu.cn
  • yandex.ru
Читать дальше →
Total votes 62: ↑57 and ↓5 +52
Comments 304

Как отправлять пользовательский интерфейс по API

Reading time 7 min
Views 6.7K
image

Есть приём, позволяющий совершенно по-новому представить работу с пользовательскими интерфейсами (UI). Можно передавать UI на клиент через различные API – так получаются серверно-управляемые пользовательские интерфейсы. Такой метод позволяет выйти на новый уровень гибкости и динамичности, трансформирует традиционные парадигмы разработки UI.

Серверно-управляемые UI существуют совсем не только в теории. Их внедряют некоторые крупнейшие игроки технологической индустрии. В качестве примеров можно привести Lyft и Airbnb. Они активно используют серверно-управляемые UI, чтобы выдавать миллионам пользователей во всём мире динамический контент и быстро предоставлять обновления.

Но что же собой представляют серверно-управляемые UI? Как они работают и почему приобретают такую важность в современной разработке на JavaScript? В данном посте мы постараемся ответить на эти вопросы и углублённо рассмотреть серверно-управляемые UI, их достоинства, а также как можно реализовать такой интерфейс в вашем собственном проекте.
Читать дальше →
Total votes 7: ↑7 and ↓0 +7
Comments 11

Architecture as Code: реализуем подход Саймона Брауна

Reading time 2 min
Views 10K

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


  1. Модели архитектуры программного обеспечения как код, построенные с использованием Structurizr Lite
  2. Документация, созданная с помощью шаблона Arc42
  3. Журнал решений, созданный с помощью ADR Tools

Предполагается хранение этой документации в репозитории и работа с ней так же, как и с кодом.


Читать дальше →
Total votes 10: ↑9 and ↓1 +8
Comments 3

Теория типов

Level of difficulty Medium
Reading time 43 min
Views 28K

Мы так привыкли к типам, что редко задаёмся вопросом, что же они такое на самом деле? А главное - почему возникла необходимость в их использовании? Этот поверхностный обзор сделан для того, чтобы продемонстрировать, как типы и другие связанные абстракции являются следствием из обобщения условий различных задач.

Что можно узнать из этой статьи?
Total votes 75: ↑75 and ↓0 +75
Comments 70

Postman как инструмент документации

Level of difficulty Medium
Reading time 9 min
Views 12K

Postman в основном известен в качестве мощного инструмента для тестирования API. Но он также может значительно облегчить жизнь новым членам команды, аналитикам и клиентам, которые интегрируются с вами.

В этой статье я, SDET-специалист SimbirSoft Дарья, проведу обзор функций, с помощью которых Postman может помочь каждой из этих групп. Покажу на небольших примерах, как превратить набор запросов в то, что не стыдно будет пошарить коллегам, взаимодействующим с вашим API, и упростит жизнь новоприбывшим членам команды. Эта статья будет полезна специалистам различных уровней как в ручном, так и в автотестировании, а также бизнес- и системным аналитикам, для которых Postman сможет быть полезным для работы с документацией. 

Примеры буду приводить на ставшем классикой тренажере для практики отправки REST-запросов Petstore Swagger. Это имитация онлайн-зоомагазина, где можно манипулировать информацией о питомцах пользователей, а также создавать заказы.

📦 Читать далее
Total votes 4: ↑4 and ↓0 +4
Comments 4

Как выбрать нужное сечение провода?

Level of difficulty Medium
Reading time 9 min
Views 23K
Картинка Freepik

Не знаю как у вас, а у меня есть одна проблема: каждый раз, когда дело доходит до приобретения проводов/кабелей на более-менее серьёзную нагрузку, у меня делаются страшные глаза, и я начинаю судорожно вспоминать, а какой конкретно кабель мне нужен на мою нагрузку и как его следует подбирать?

В какой-то момент мне это надоело, и я решил разобраться в вопросе, результаты чего приведены ниже и, возможно, будут полезны и вам.
Читать дальше →
Total votes 68: ↑62 and ↓6 +56
Comments 113

Преимущества функционального программирования на примерах C#

Reading time 7 min
Views 7K
Функциональное программирование (ФП) — это парадигма, в которой упор делается на использование функций для решения задач, а не на состояние и изменяемые данные. В последние годы ФП завоевало популярность среди разработчиков благодаря многочисленным преимуществам, которые позволяют использовать его для разработки сложных систем. В этой статье мы расскажем о преимуществах функционального программирования и о том, почему вам стоит рассмотреть возможность его использования в вашем следующем проекте.
Читать дальше →
Total votes 16: ↑9 and ↓7 +2
Comments 9

Современные подходы к созданию интересной и эффективной технической документации в современной индустрии

Level of difficulty Easy
Reading time 4 min
Views 2.5K

«....всё это действенные методы для улучшения разработки интересной и эффективной технической документации....»

Читать далее
Total votes 3: ↑3 and ↓0 +3
Comments 0

Как воспитать в своей семье юного инженера и не разориться?

Level of difficulty Easy
Reading time 8 min
Views 19K

Говорят, собственный пример – это самое лучшее обучение для ребёнка. Рассказываю, как я проверил справедливость этого высказывания на себе, с нуля погрузился в робототехнику и в итоге у меня даже получилось сконструировать нечто стоящее. А ещё в процессе я поднаторел в вопросах экономии средств на покупке довольно дорогостоящих деталей для такого вида хобби.

Короче, слушайте
Total votes 64: ↑62 and ↓2 +60
Comments 32

Information

Rating
Does not participate
Registered
Activity