Pull to refresh
0
0
Send message

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

Level of difficultyMedium
Reading time18 min
Views3.9K

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

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

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

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

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

Level of difficultyMedium
Reading time21 min
Views8.1K

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

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

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

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

Защита Home Assistant

Level of difficultyMedium
Reading time6 min
Views10K

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

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

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

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

Level of difficultyMedium
Reading time21 min
Views33K

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

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

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

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

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

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

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

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

Level of difficultyMedium
Reading time6 min
Views3.6K

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

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

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

Reading time14 min
Views13K


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

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

Reading time11 min
Views5.9K

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

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

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

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

Level of difficultyHard
Reading time12 min
Views50K

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

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

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

Level of difficultyMedium
Reading time8 min
Views26K


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

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

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

Level of difficultyEasy
Reading time5 min
Views8.9K

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

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

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

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

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

Reading time15 min
Views41K

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

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

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

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

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

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

Reading time3 min
Views32K


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

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

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

Reading time7 min
Views6.7K
image

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

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

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

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

Reading time2 min
Views10K

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


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

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


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

Теория типов

Level of difficultyMedium
Reading time43 min
Views29K

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

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

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

Level of difficultyMedium
Reading time9 min
Views12K

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

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

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

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

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

Level of difficultyMedium
Reading time9 min
Views23K
Картинка Freepik

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

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

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

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

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

Level of difficultyEasy
Reading time4 min
Views2.5K

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

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

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

Level of difficultyEasy
Reading time8 min
Views19K

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

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

Information

Rating
Does not participate
Registered
Activity