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
Git Checkout: Вместо этого используйте Git Switch и Git RestoreЕсли в своей повседневной работе используете Git, то git checkout - это распространенная команда. Она часто используется для переключения ветвей, и если посмотреть в документацию, то можно увидеть фразу «переключить ветви или восстановить файлы рабочего дерева». Но в UNIX должно быть «Делай одно дело и делай его хорошо». Это сбивало с толку, поэтому в Git 2.23 появилась пара команд для замены.
#webdev #Git
Please open Telegram to view this post
VIEW IN TELEGRAM
Вы когда-нибудь хотели вести логи определенных уровней в Laravel? Конечно, можно использовать опцию level config, чтобы указать минимальный уровень для логирования, но что, если нужно, чтобы логи Debug и Info попадали только в определенный логгер?
#webdev #Laravel #Logs
Please open Telegram to view this post
VIEW IN TELEGRAM
@propertyВеерное раскрытие - это разворачивающаяся анимация, при которой группа элементов появляется один за другим, рядом друг с другом, как будто они выкладываются из стопки. При этом обычно наблюдается едва уловимое подпрыгивание.
Эффект обычно достигается за счет тайминга и позиционирования каждого элемента по отдельности с очень жестко заданными значениями. Однако это может быть очень трудоемко. Но можно сделать всё немного проще, если позволить родительскому контейнеру элементов сделать это за нас.
#webdev #css #grid
Please open Telegram to view this post
VIEW IN TELEGRAM
Недавно кто-то спросил меня, обязательно ли свойства объектов JavaScript должны быть неупорядоченными и непредсказуемыми?
Разработчики знакомые с ранним JavaScript могут ответить, что
Object.keys() или for...in возвращают непредсказуемый порядок свойств объекта. Но так ли это на самом деле?Как и следовало ожидать, теперь существуют правила, которым нужно следовать.
#webdev #JS
Please open Telegram to view this post
VIEW IN TELEGRAM