В этом руководстве рассматриваются уязвимости десериализации PHP, показывается, как они приводят к RCE-атакам, и предлагаются методы их устранения для защиты ваших PHP-приложений.
Уязвимости десериализации в PHP представляют серьезный риск безопасности, способный привести к удаленному выполнению кода (RCE), одному из самых опасных последствий небезопасной обработки недоверенных входных данных. При эксплуатации эти уязвимости позволяют злоумышленникам выполнять произвольный код на сервере, потенциально получая полный контроль над системой.
В статье мы рассмотрим, как возникают уязвимости десериализации в PHP, какую опасность они представляют и как можно защитить от них PHP-приложения. Рассмотрим различные уровни проблем десериализации, от начального до продвинутого, и предоставим практические примеры кода и техники для снижения этих рисков.
#webdev #PHP #Serialization #Security
Please open Telegram to view this post
VIEW IN TELEGRAM
Одной из менее заметных функций, появившихся в PHP 8.4, является ассиметричная видимость для PHP свойств. Это обновление текущей видимости, а также ряд усовершенствованных возможностей по сравнению с readonly, хуками свойств или магическими методами. Это не для всех, но может оказаться весьма кстати. Давайте посмотрим!
#webdev #PHP #feature
Please open Telegram to view this post
VIEW IN TELEGRAM
File и Blob объектами в JavaScriptВ JavaScript для представления двоичных данных используются объекты
File и Blob, но они служат для разных целей и имеют ряд отличительных характеристик. Рассмотрим их различия.#webdev #JavaScript #JS #File #Blob
Please open Telegram to view this post
VIEW IN TELEGRAM
Модели - это отличный инструмент для взаимодействия с хранилищем данных. Мы можем определить, как выглядят данные, и это гарантирует, что они совместимы с хранилищем данных, обычно базой данных. Когда есть модель, проверяющая вводимые данные и помогающая их записывать, может возникнуть соблазн использовать её и для извлечения данных. За исключением некоторых базовых CRUD-приложений, это обычно не очень хорошая идея. Давайте посмотрим, почему.
#webdev #PHP #OOP #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
Поймите опасность межсайтового скриптинга (XSS) и узнайте, как защитить приложения от этих опасных угроз на стороне клиента.
Межсайтовый скриптинг (XSS) остается одной из самых распространенных и опасных уязвимостей в веб-приложениях на базе JavaScript. Эти атаки позволяют злоумышленникам внедрять вредоносные скрипты на веб-страницы, доверяемые пользователями. Выполняясь на стороне клиента, эти скрипты могут похищать конфиденциальные данные, манипулировать содержимым веб-страниц или даже выдавать себя за пользователей.
В статье мы рассмотрим XSS-атаки, узнаем, как они работают, какие бывают типы XSS и, самое главное, как защитить свои веб-приложения от этих угроз на стороне клиента.
#webdev #XSS #Security
Please open Telegram to view this post
VIEW IN TELEGRAM
WeakRef и FinalizationRegistryСегодня мы погрузимся в тему управления памятью в JavaScript - но не в традиционном смысле сборки мусора. Вместо этого мы изучим мощные возможности
WeakRef и FinalizationRegistry. Эти инструменты дают разработчикам контроль над слабыми ссылками и асинхронной финализацией объектов, позволяя более тонко и эффективно работать с памятью.Сборщик мусора JavaScript автоматически управляет памятью для большинства объектов, но некоторые сценарии, такие как кэширование или долгоживущие объекты, могут привести к утечкам памяти.
Если вы устали от того, что объекты задерживаются в памяти дольше положенного, или ищете способы управления ресурсами без лишних утечек памяти, это руководство для вас. Давайте начнем!
#webdev #JavaScript #JS #Memory #WeafRef #FinalizationRegistry
Please open Telegram to view this post
VIEW IN TELEGRAM
В этой статье я расскажу как создать RESTful API, используя Laravel для управления структурой и конечными точками и Python для сложной обработки бэкенда. Сочетая простоту Laravel с гибкостью Python, мы создадим мощный, эффективный API, способный решать сложные задачи простым способом.
Такой подход позволяет использовать Laravel для маршрутизации и структуры API, а Python - для решения сложных задач обработки данных, машинного обучения или анализа данных.
#webdev #Laravel #Python #RESTful #API
Please open Telegram to view this post
VIEW IN TELEGRAM
Среди причин, по которым многие разработчики предпочитают использовать MacBook, — высокая производительность системы, интуитивно понятные инструменты и надежные средства защиты, регулярно обновляемые Apple. Чтобы сделать его еще лучше, можно оптимизировать Mac, установить браузеры, инструменты разработчика и другие приложения, чтобы идеально настроить Mac для веб-дизайна. Вот несколько советов, которые помогут.
#webdev #MacBook #SetUp
Please open Telegram to view this post
VIEW IN TELEGRAM
JavaScript предоставляет два основных способа определения функций: стрелочные и обычные функции. Хотя на первый взгляд они могут показаться похожими, есть несколько ключевых различий, влияющих на то, как выполняется код и как он структурирован. Давайте разберем эти различия, чтобы было понятно, когда использовать каждый тип.
#webdev #JavaScript #JS #functions
Please open Telegram to view this post
VIEW IN TELEGRAM
Раньше при создании компонентов Livewire для приложений Laravel приходилось разделять код бэкенда и фронтенда на отдельные файлы. Иногда это может вызвать путаницу, особенно в больших проектах. Но с помощью Volt можно создавать однофайловые компоненты Livewire, в которых код бэкенда и фронтенда находится в одном файле.
В этой статье мы рассмотрим, что такое Volt и чем компоненты Volt отличаются от традиционных компонентов Livewire. Затем рассмотрим, как писать тесты для компонентов Laravel Volt.
К концу статьи вы будете понимать, что такое Volt, и чувствовать себя уверенно, используя его в своих проектах.
#webdev #Laravel #Larawire #Volt
Please open Telegram to view this post
VIEW IN TELEGRAM
JavaScript - универсальный язык, на котором работает большая часть Интернета. Среди множества его возможностей некоторые функции выделяются своей практичностью и оптимизацией производительности. В этой статье мы рассмотрим шесть важнейших функций JavaScript, которые могут расширить инструментарий кодера:
Debounce, Throttle, Currying, Memoization, Deep Clone, а также одну бонусную функцию.#webdev #JS #JavaScript
Please open Telegram to view this post
VIEW IN TELEGRAM
Вы уставились в экран, потягиваете третью чашку кофе и все еще не можете определиться с идеальной цветовой гаммой для очередного шедевра? Не волнуйтесь, любители дизайна и креативные волшебники! Мы прочесали весь интернет, чтобы представить пять лучших сайтов генераторов цветовой палитры, способных превратить творческий хаос в гармоничные оттенки. И знаете что? Мы признали Colorbrew действующим чемпионом.
Давайте окунемся в красочный мир генераторов палитры, которые так же интересны, как и функциональны!
#webdev #frontend #design #palette
Please open Telegram to view this post
VIEW IN TELEGRAM
Auth в Laravel 11Если вы уже работали с Laravel, то наверняка знакомы с редиректами аутентификации, например, отправляющими гостей на страницу входа в систему или перенаправляющими аутентифицированных пользователей со страниц, на которые они не должны заходить. В Laravel 11 появился новый, более простой способ решения этой проблемы. В этой статье мы рассмотрим, как реализовать новые настройки middleware auth.
#webdev #Laravel #Middleware #Auth
Please open Telegram to view this post
VIEW IN TELEGRAM
Laravel предоставляет надежный CLI-фреймворк, построенный на основе популярного компонента Symfony Console, позволяющий перенести лучшие возможности Laravel в командную строку. Хотя Laravel традиционно используется для создания веб-приложений, некоторые приложения нуждаются в надежных CLI командах, которые можно запускать через Docker в производственных средах.
Если создаёте проект только для CLI, то можно рассмотреть вариант использования проекта сообщества Laravel Zero. Всё, что обсуждается в этой статье, будет работать с Laravel или Laravel Zero (с некоторыми изменениями в образе Docker).
#webdev #Laravel #Docker #CLI
Please open Telegram to view this post
VIEW IN TELEGRAM
UseReducer и его отличие от UseStateReact предлагает два ключевых хука для управления состоянием:
useState и useReducer. Хотя оба предназначены для работы с состоянием в функциональных компонентах, они используются в разных сценариях. В этой статье мы рассмотрим различия между ними и расскажем, когда следует использовать каждый из них, а также приведем примеры для лучшего понимания#webdev #React #hooks
Please open Telegram to view this post
VIEW IN TELEGRAM
Это руководство рассказывает о том, как развернуть приложение Encore на DigitalOcean с помощью новой команды
encore build, входящей в состав открытого CLI Encore.Это удобно, если вы предпочитаете ручное развертывание автоматизации, предлагаемой облачной платформой Encore. Даже при ручном развертывании Encore упрощает процесс, предоставляя инструменты для сборки и настройки приложения.
Давайте рассмотрим, как развернуть приложение Encore на платформе DigitalOcean App Platform с помощью Docker и
encore build.#webdev #Docker #Encore #DigitalOcean
Please open Telegram to view this post
VIEW IN TELEGRAM
Всегда забавно наблюдать за тем, как со временем эволюционируют языки программирования.
Когда-то, когда я начинал свой путь в мире разработки программного обеспечения, динамические языки, такие как Python, PHP и JavaScript, ценились за их гибкость и лаконичный синтаксис, подходящий для быстрой разработки.
Однако по мере развития этих слабо типизированных языков в них стали появляться черты сильно типизированных языков, что сделало их похожими на C++ и Java:
#webdev #JS #PHP #Python
Please open Telegram to view this post
VIEW IN TELEGRAM
В преддверии 2025 года Laravel продолжает оставаться одним из лучших вариантов для веб-разработки, предлагая разработчикам инструменты для создания мощных и эффективных приложений. В этой статье описаны основные лучшие практики, советы и рекомендации, способные повысить качество кода и оптимизировать рабочий процесс, независимо от того, используете ли вы Laravel 9, 10 или 11. Эти советы помогут максимально использовать возможности Laravel и улучшить навыки разработки, независимо от того, являетесь ли вы начинающим или опытным разработчиком.
#webdev #Laravel #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
TypeScript - мощный инструмент для современной разработки JavaScript, обеспечивающий безопасность типов и предоставляющий расширенные возможности.
Хотя многие разработчики знают основы, существуют скрытые жемчужины и практические трюки, которые могут сделать код более эффективным, чистым и удобным для сопровождения.
Давайте рассмотрим 20 трюков TypeScript, которые должен знать каждый разработчик, с примерами и практическими подходами!
#webdev #TypeScript #TS #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
В мире React пропсы (сокращение от properties) играют важнейшую роль в построении динамичных и интерактивных пользовательских интерфейсов. Они являются механизмом, позволяющим передавать данные от родительских компонентов к дочерним, обеспечивая однонаправленный поток данных, упрощающий управление состоянием. В этой статье мы рассмотрим, что такое пропсы, как их эффективно использовать, а также лучшие практики, которым стоит следовать.
#webdev #React #Props
Please open Telegram to view this post
VIEW IN TELEGRAM
Перенос устаревшего PHP-кода на современный объектно-ориентированный подход не только повышает читаемость и удобство сопровождения кода, но и улучшает безопасность и масштабируемость. Сочетая принципы объектно-ориентированного программирования (ООП) с PHP Data Objects (PDO) для взаимодействия с базами данных, разработчики могут создавать более эффективные, безопасные и многократно используемые приложения. Переход от процедурного кода к ООП с PDO может показаться сложным, но при правильном подходе и использовании лучших практик этот процесс становится управляемым и целесообразным.
В этой статье мы рассмотрим основные шаги и лучшие практики для преобразования устаревшего PHP-кода в объектно-ориентированную структуру с помощью PDO, включая стратегии проектирования классов, обработки операций с базой данных и поддержания организации кода.
#webdev #PHP #MySQL
Please open Telegram to view this post
VIEW IN TELEGRAM