Атаки с использованием CSS-инъекций часто игнорируются при обеспечении веб-безопасности, однако они представляют собой серьезную опасность, если не принять надлежащих мер. Как правило, CSS используется для улучшения визуального представления веб-сайтов, определения макетов, цветов и шрифтов. Однако злоумышленники могут использовать уязвимости в работе с CSS. Это позволяет им внедрять вредоносный код, который манипулирует поведением сайта, крадет конфиденциальные данные или взаимодействует с полями ввода пользователя.
В этом руководстве мы подробно рассмотрим CSS-инъекции. Что это такое, как они работают, какое потенциальное влияние они могут оказать на ваш сайт, а также лучшие методы их предотвращения. Рассмотрим примеры кода от начального до продвинутого уровня.
#webdev #css #html #security
Please open Telegram to view this post
VIEW IN TELEGRAM
Здравствуйте, веб-разработчики Laravel!
В этой статье мы познакомимся с тем, как создавать микросервисы в Laravel 11. В этой версии Laravel микросервисы предоставляют уникальную возможность разделить большое монолитное приложение на множество небольших, слабосвязанных сервисов.
Каждый такой сервис отвечает за конкретную функцию в системе и может масштабироваться независимо. Laravel 11 предлагает прочную основу для создания микросервисов, используя уже существующие функции, такие как очереди, трансляция событий, HTTP-клиенты и обнаружение сервисов.
Архитектура микросервисов позволяет разделить приложение на более мелкие, легко управляемые и независимо развертываемые сервисы. Это, в свою очередь, способствует лучшей масштабируемости, изоляции от сбоев и ускорению процесса разработки.
Давайте рассмотрим, как построить базовую микросервисную архитектуру с помощью Laravel 11, включая методы коммуникации и управление вызовами.
#webdev #laravel #microservice
Please open Telegram to view this post
VIEW IN TELEGRAM
Здравствуйте, веб-разработчики Laravel! В этой статье мы обсудим, как создать событийно-управляемую архитектуру в Laravel 11.
Событийно-управляемая архитектура (EDA) в Laravel позволяет различным частям вашего приложения взаимодействовать асинхронно, используя события и слушателей. Этот архитектурный шаблон помогает разделить сложные рабочие процессы, гарантируя, что каждый компонент может реагировать на изменения состояния или действия пользователя, не будучи напрямую зависимым от других.
В Laravel события представляют собой действия или триггеры, а слушатели обрабатывают логику ответа на них. Широковещательная рассылка событий позволяет клиентам получать информацию в режиме реального времени через WebSockets.
#webdev #laravel #EDA
Please open Telegram to view this post
VIEW IN TELEGRAM
Clickjacking, также известный как модификация UI, - форма атаки, при которой пользователя обманом заставляют нажать не на то, что он воспринимает. Эта вредоносная техника обычно включает в себя наложение скрытых или прозрачных HTML-фреймов поверх легитимных веб-страниц, что заставляет пользователей неосознанно взаимодействовать с невидимыми элементами, вызывающими несанкционированные действия. От перевода средств до изменения настроек или даже раскрытия конфиденциальных данных, clickjacking может иметь серьезные последствия как для пользователей, так и для веб-сайтов.
#webdev #clickjacking #security
Please open Telegram to view this post
VIEW IN TELEGRAM
XML-RPC - протокол удаленного вызова процедур (RPC), использующий XML для кодирования вызовов и HTTP в качестве транспортного механизма. В WordPress XML-RPC обеспечивает удаленный доступ к различным функциям, позволяя пользователям взаимодействовать со своими сайтами без прямого доступа к браузеру. С его помощью работают такие функции, как мобильное приложение, trackback и внешние публикации. Однако эта, казалось бы, полезная функция также может быть использована, что делает её основной целью для брутфорса и DDoS-атак.
#webdev #WordPress #wp #clickjacking #security
Please open Telegram to view this post
VIEW IN TELEGRAM
Здравствуйте, веб-разработчики Laravel! В этой статье мы рассмотрим Laravel-Based Progressive Web App (PWA) с Service Worker. Прогрессивные веб-приложения (PWA) - это веб-приложения, которые сочетают в себе лучшее от веб-приложений и мобильных приложений.
Они предлагают возможность работы в автономном режиме, быстрое время загрузки и push-уведомления, что делает их удобными для пользователей и высокоэффективными. В этом руководстве мы рассмотрим, как создать PWA на Laravel, сосредоточившись на внедрении рабочих служб для стратегии кэширования, обеспечении автономной функциональности и интеграции push-уведомлений.
#webdev #Laravel #PWA
Please open Telegram to view this post
VIEW IN TELEGRAM
Это первая статья из цикла, в котором рассказывается о наиболее важных нововведениях в Symfony 7.2, релиз которого состоится в конце ноября 2024 года.
Symfony включает в себя десятки ограничений для проверки данных в приложениях. В Symfony 7.2 мы добавляем три новых ограничения.
#webdev #Symfony
Please open Telegram to view this post
VIEW IN TELEGRAM
Здравствуйте, веб-разработчики Laravel! В этой статье мы рассмотрим работу eloquent ORM со сложными отношениями. Если вы уже давно используете Laravel, то наверняка знакомы с основами Eloquent ORM - мощного слоя абстракции баз данных в Laravel.
Однако по мере роста приложения может понадобиться обрабатывать более сложные отношения, такие как отношения «многие-ко-многим», полиморфные отношения и глубоко вложенные запросы. Эти отношения могут стать сложными, если их не обрабатывать эффективно, что приведет к проблемам с производительностью.
В этом руководстве я расскажу о некоторых продвинутых методах Eloquent ORM, которые помогут эффективно управлять сложными отношениями и оптимизировать производительность вашего приложения. Мы рассмотрим практические примеры и фрагменты кода, чтобы вам было легко следовать за мной.
#webdev #Laravel #Eloquent
Please open Telegram to view this post
VIEW IN TELEGRAM
На этой неделе была выпущена первая бета-версия Inertia.js v2. Основная библиотека была переписана для поддержки асинхронных запросов, что позволило раскрыть некоторые впечатляющие возможности, которые теперь можно получить в свои руки!
#webdev #Laravel #Logs
Please open Telegram to view this post
VIEW IN TELEGRAM
Здравствуйте, веб-разработчики Laravel! В этом руководстве я пошагово расскажу о том, как создать инструмент совместного редактирования в реальном времени с помощью Laravel WebSockets и Livewire. Эта функция позволяет нескольким пользователям одновременно редактировать один и тот же контент, при этом все изменения отражаются в реальном времени.
Представьте, что вы работаете над проектом, в котором ваша команда может совместно редактировать документы, подобно Google Docs - именно это мы и собираемся создать. Это захватывающий проект, и я все упрощу для вас, чтобы даже новички могли с ним справиться.
#webdev #Laravel #WebSockets
Please open Telegram to view this post
VIEW IN TELEGRAM
Alpine.js - легкий JavaScript-фреймворк, позволяющий добавлять динамическое поведение в HTML с минимальными усилиями. В этом руководстве рассмотрим, как создать простой, но эффективный диалог (также известный как модальный) с помощью Alpine.js.
Эта техника идеально подходит для отображения дополнительной информации, форм или предупреждений без перехода с текущей страницы.
#webdev #Alpine #JavaScript
Please open Telegram to view this post
VIEW IN TELEGRAM
CSS градиенты существуют так давно, что нет необходимости повторять, что это такое и как их использовать. Вы наверняка сталкивались с ними на каком-то этапе своего фронтенд-путешествия, и если вы следите за мной, то знаете, что я использую их постоянно. Я использую их для CSS-шаблонов, красивых CSS-декораций и даже CSS-загрузчиков. Но даже в этом случае градиенты имеют сложный синтаксис, который может очень быстро усложниться, если вы не будете внимательны.
В этой статье мы не будем создавать сложные вещи с помощью градиентов CSS. Вместо этого мы будем придерживаться простоты, и я расскажу обо всех невероятных вещах, которые мы можем сделать с помощью одного градиента.
#webdev #CSS #tricks
Please open Telegram to view this post
VIEW IN TELEGRAM
#webdev #WordPress #wp #xss #security
Защита WordPress от атак межсайтового скриптинга (XSS)
Атаки межсайтового скриптинга (XSS) - распространенная угроза безопасности, которая может скомпрометировать веб-сайты, украсть данные пользователей и использовать уязвимости веб-приложений. В WordPress XSS-атаки особенно опасны, поскольку они часто направлены на пользовательский контент или формы, такие как комментарии или поля ввода. В этой статье мы рассмотрим, как злоумышленники используют XSS-уязвимости в WordPress, какой ущерб они могут нанести и какие меры вы можете предпринять для защиты своего сайта от этих атак с внедрением контента.
👉 Читать статью (🇬🇧)
@webdev_trends
Защита WordPress от атак межсайтового скриптинга (XSS)
Атаки межсайтового скриптинга (XSS) - распространенная угроза безопасности, которая может скомпрометировать веб-сайты, украсть данные пользователей и использовать уязвимости веб-приложений. В WordPress XSS-атаки особенно опасны, поскольку они часто направлены на пользовательский контент или формы, такие как комментарии или поля ввода. В этой статье мы рассмотрим, как злоумышленники используют XSS-уязвимости в WordPress, какой ущерб они могут нанести и какие меры вы можете предпринять для защиты своего сайта от этих атак с внедрением контента.
👉 Читать статью (🇬🇧)
@webdev_trends
withConsecutive()Метод withConsecutive() был устаревшим в PHPUnit 9 и удален в PHPUnit 10. Это вызвало множество вопросов на StackOverflow, в различных проектах и на GitHub.
Это не было очень популярным нарушением обратной совместимости. Замены 1:1 не существует. Он может быть объединен с методами willReturn*(), что может сделать его еще более сложным для слияния.
При обновлении PHPUnit 95 % времени уходит на обновление этого единственного метода и 5 % - на все остальные. За последние месяцы мы провели несколько обновлений проекта с помощью Rector и узнали много нового.
Сегодня я хочу поделиться с вами знаниями и объяснить, почему это изменение для улучшения кода.
#webdev #PHP #PHPUnit
Please open Telegram to view this post
VIEW IN TELEGRAM
At-правило
@supports было несколько раз расширено с момента его первого выпуска. Когда-то оно позволяло проверять поддержку только пар свойство/значение, теперь оно может проверять наличие селектора с помощью функции-обертки selector() и различных форматов и технологий шрифтов с помощью font-format() и font-tech(), соответственно. Однако сообщество всё ещё жаждет одной возможности - проверки поддержки других at-правил.#webdev #CSS #tricks
Please open Telegram to view this post
VIEW IN TELEGRAM
При создании веб-приложений удобно разбивать сложные процессы на более мелкие и управляемые части, используя отдельные функции или классы. Это помогает сохранить код чистым, удобным для сопровождения и тестирования.
Подход, который можно применить для разделения этих небольших шагов в приложении Laravel, заключается в использовании конвейеров Laravel. Конвейеры позволяют отправлять данные через несколько уровней логики, прежде чем вернуть результат. На самом деле Laravel использует конвейеры для обработки запросов и их прохождения через все промежуточные компоненты приложения.
В этой статье рассмотрим, что такое конвейеры и как Laravel использует их внутри, а также узнаем, как создавать собственные конвейеры. Также мы расскажем о том, как писать тесты, чтобы убедиться, что ваши конвейеры работают так, как ожидается.
К концу статьи вы должны понимать, что такое конвейеры, и быть уверенными в том, что сможете использовать их в своих приложениях Laravel.
#webdev #Laravel #Pipelines
Please open Telegram to view this post
VIEW IN TELEGRAM
Enums появились в PHP 8.1, и Laravel в полной мере использовал их возможности. Давайте посмотрим, как можно использовать Enums в ваших проектах Laravel сегодня.
#webdev #PHP #Laravel #Enums
Please open Telegram to view this post
VIEW IN TELEGRAM
Еще в 2020 году
#webdev #CSS #feature
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Заметки разработчика
В статье я расскажу об оптимизации использования деструктурирующего присваивания для повышения производительности. Рассмотрим различия в байткоде между двумя подходами к деструктурирующему присваиванию. Я проведу тест, подчёркивающий эти различия, и в конце вы поймёте, почему
ArrayAssignmentPattern не всегда является лучшим выбором.#JavaScript #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
При создании приложений Laravel почти гарантированно придется иметь дело с сессиями. Они являются фундаментальной частью веб-разработки.
В этой статье мы рассмотрим, что такое сессии, как они работают в Laravel, и как с ними можно работать в приложениях Laravel.
Затем рассмотрим, как взаимодействовать с сессиями, используя «классы сессий», чтобы избежать распространенных ошибок, которые часто встречаются при работе над приложениями Laravel.
Наконец, рассмотрим, как тестировать данные сессий в Laravel.
#webdev #Laravel #Sessions
Please open Telegram to view this post
VIEW IN TELEGRAM
Хотя время от времени возникают вопросы о популярности PHP, нет никаких сомнений в том, что PHP остается мощным инструментом в веб-разработке, а фреймворки в его экосистеме играют решающую роль в формировании эффективности, масштабируемости и ремонтопригодности приложений. В статье мы исследуем текущую конкуренцию между тремя основными PHP-фреймворками: Laravel, Symfony и CodeIgniter.
Наша цель - помочь разработчикам и технически подкованным руководителям понять сильные и слабые стороны каждого фреймворка и дать рекомендации по выбору подходящего для конкретных задач проекта.
#webdev #PHP #Laravel #Symfony #CodeIngiter
Please open Telegram to view this post
VIEW IN TELEGRAM