Как мы приготовили массу блюд c помощью одного ингредиента: GraphQL
https://habr.com/ru/companies/nlmk/articles/780328/
https://habr.com/ru/companies/nlmk/articles/780328/
Хабр
Как мы приготовили массу блюд c помощью одного ингредиента: GraphQL
Всем привет! Не говорите, что вам нечего приготовить, если у вас дома одна картошка. При смекалке и достаточном количестве специй — пюре, драники, запеканка, чипсы фри... Конечно, мы обсуждаем не...
Один часто задаваемых вопросов по Docker 🐳
Как настроить
👉 Подробное объяснение здесь:
youtu.be/njcUv0e8egM
#php #docker
Как настроить
Docker + PHP + Nginx
👉 Подробное объяснение здесь:
youtu.be/njcUv0e8egM
#php #docker
Подмена функций стандартной библиотеки PHP с помощью xepozz/internal-mocker
https://habr.com/ru/articles/797343/
https://habr.com/ru/articles/797343/
Хабр
Подмена функций стандартной библиотеки PHP с помощью xepozz/internal-mocker
Цель Подмена (mock) функций, которые уже “загружены” в PHP еще до подгрузки Composer Autoloader, каких-либо include или других объвлений function name() {} Подмена не только из под не пустого...
Tempest – PHP MVC микро-фреймворк, который не мешает вам работать
Его основная философия заключается в том, что разработчики должны писать как можно меньше кода, связанного с фреймворком, чтобы было время сосредоточиться на коде самого приложения. Вы можете установить Tempest двумя способами: как веб-приложение с базовым функционалом, или в качестве пакета в любом проекте, который вы захотите.
Стоимость: #бесплатно
#утилита #php
Его основная философия заключается в том, что разработчики должны писать как можно меньше кода, связанного с фреймворком, чтобы было время сосредоточиться на коде самого приложения. Вы можете установить Tempest двумя способами: как веб-приложение с базовым функционалом, или в качестве пакета в любом проекте, который вы захотите.
Стоимость: #бесплатно
#утилита #php
Превращение событий PostgreSQL в события Laravel
https://habr.com/ru/articles/798203/
https://habr.com/ru/articles/798203/
Хабр
Превращение событий PostgreSQL в события Laravel
Краткая аннотация В прошлый раз я описал, как можно поставить задачу (Job) в очередь Laravel из хранимой процедуры или триггера PostgreSQL. В этой статье я расскажу, как можно преобразовать события,...
Joomla на FOSDEM 2024: запуск Альянса открытых веб-сайтов
https://habr.com/ru/articles/798295/
https://habr.com/ru/articles/798295/
Хабр
Joomla на FOSDEM 2024: запуск Альянса открытых веб-сайтов
Joomla на FOSDEM 2024 FOSDEM 2024 - масштабная конференция разработчиков ПО с открытым исходным кодом, насчитывающая тысячи участников и более шестидесяти конференц-залов. Президент Joomla Crystal...
Раскройте возможности генераторов PHP
Новичкам в PHP приходится работать с большими наборами данных или массивами. Типичная проблема — страшная ошибка нехватки памяти:
▪Читать
Новичкам в PHP приходится работать с большими наборами данных или массивами. Типичная проблема — страшная ошибка нехватки памяти:
Fatal error: Allowed memory size of xxxxxx bytes exhausted (tried to allocate xxxxx bytes) in your_script.php on line xx
Здесь PHP-скриптом превышен лимит памяти. Чтобы устранить эту ошибку, в PHP 5.5 представили отличное решение — генераторы. Они позволяют перебирать наборы данных, не загружая все в память. Это эффектно и эффективно.▪Читать
Что такое межсайтовый скриптинг?
Межсайтовый скриптинг (XSS) — это вид атаки на веб-приложения, при котором злоумышленник внедряет вредоносный скрипт (обычно JavaScript) в веб-страницу или веб-приложение, которое затем выполняется в браузере других пользователей. Целью атаки является получение доступа к информации пользователя, управление сессией, или выполнение других вредоносных действий от имени пользователя, часто без его ведома.
Существуют два основных типа межсайтового скриптинга:
Хранимый (Stored) XSS: Злоумышленник вводит вредоносный скрипт непосредственно на сервере, обычно через поля ввода или комментарии на веб-сайте. Затем этот скрипт сохраняется на сервере и выполняется при просмотре страницы другими пользователями.
Рефлектированный (Reflected) XSS: Вредоносный скрипт передается на сервер через параметры URL, формы или другие входные данные. Затем сервер возвращает этот скрипт в браузер пользователя, где он выполняется. Например, злоумышленник может создать ссылку, содержащую вредоносный скрипт, и убедить пользователя перейти по этой ссылке.
Межсайтовый скриптинг может быть использован для кражи сессий, перенаправления на фишинговые сайты, введения пользователя в заблуждение, кражи конфиденциальных данных и многих других атак. Для защиты от XSS атак следует использовать соответствующие техники санитизации входных данных, контекстного экранирования и использования Content Security Policy (CSP).
#вопросы_с_собеседований
Межсайтовый скриптинг (XSS) — это вид атаки на веб-приложения, при котором злоумышленник внедряет вредоносный скрипт (обычно JavaScript) в веб-страницу или веб-приложение, которое затем выполняется в браузере других пользователей. Целью атаки является получение доступа к информации пользователя, управление сессией, или выполнение других вредоносных действий от имени пользователя, часто без его ведома.
Существуют два основных типа межсайтового скриптинга:
Хранимый (Stored) XSS: Злоумышленник вводит вредоносный скрипт непосредственно на сервере, обычно через поля ввода или комментарии на веб-сайте. Затем этот скрипт сохраняется на сервере и выполняется при просмотре страницы другими пользователями.
Рефлектированный (Reflected) XSS: Вредоносный скрипт передается на сервер через параметры URL, формы или другие входные данные. Затем сервер возвращает этот скрипт в браузер пользователя, где он выполняется. Например, злоумышленник может создать ссылку, содержащую вредоносный скрипт, и убедить пользователя перейти по этой ссылке.
Межсайтовый скриптинг может быть использован для кражи сессий, перенаправления на фишинговые сайты, введения пользователя в заблуждение, кражи конфиденциальных данных и многих других атак. Для защиты от XSS атак следует использовать соответствующие техники санитизации входных данных, контекстного экранирования и использования Content Security Policy (CSP).
#вопросы_с_собеседований
Как я обработал один миллиард строк в PHP
https://habr.com/ru/companies/bothub/articles/799469/
https://habr.com/ru/companies/bothub/articles/799469/
Хабр
Как я обработал один миллиард строк в PHP
Вероятно, вы уже слышали о соревновании под названием "The One Billion Row Challenge" (1brc), если же нет, то предлагаю ознакомиться с репозиторием 1brc Гуннара Морлинга . Моё участие в проекте было...
Пишем REST-приложение на Delphi
https://habr.com/ru/companies/glowbyte/articles/799659/
https://habr.com/ru/companies/glowbyte/articles/799659/
Хабр
Пишем REST-приложение на Delphi
Привет, Хабр! Я Ануар, работаю в GlowByte и профессионально играю на нервах (шутка ?). К написанию статьи подвигла ситуация отсутствия в Рунете информации, как с использованием Delphi реализовать...
Мы пилили монолит — много нас, а он один. Полезные советы от команды Яндекс Еды
https://habr.com/ru/companies/yandex/articles/799297/
https://habr.com/ru/companies/yandex/articles/799297/
Хабр
Мы пилили монолит — много нас, а он один. Полезные советы от команды Яндекс Еды
Штурмовики наигрались и теперь разбирают любимый монолит Про микросервисную архитектуру и переход на неё написаны сотни статей, однако почти все они больше теоретические и описывают...
Добавление своих команд для CLI в Joomla 4 и Joomla 5 с помощью плагина
https://habr.com/ru/articles/797155/
https://habr.com/ru/articles/797155/
Хабр
Добавление своих команд для CLI в Joomla 4 и Joomla 5 с помощью плагина
В Joomla, как и во многих других PHP фреймворках и движках, уже довольно давно (с версий 1.7.x) существует возможность работы с помощью CLI - Command line interface. Конечно, вряд ли в эту статью...
WordPress: разбор уязвимости в Discount Rules for WooCommerce
https://habr.com/ru/articles/800321/
https://habr.com/ru/articles/800321/
Хабр
WordPress: разбор уязвимости в Discount Rules for WooCommerce
Введение Добрый день, уважаемые подписчики! Сегодня мы разберем одну старую уязвимость в плагине Discount Rules for WooCommerce < 2.2.0 для WordPress. WooCommerce - это плагин для создания...
Что делает функция «unlink»?
В PHP функция unlink() используется для удаления файла из файловой системы. Она принимает единственный параметр — путь к файлу, который вы хотите удалить. После вызова unlink() попытается удалить указанный файл из файловой системы. В случае успешного выполнения файл будет удален безвозвратно.
Код из примера проверяет, существует ли файл, и если да, то пытается удалить его с помощью unlink(). В случае успешного удаления выводится «Файл успешно удален.»; в противном случае выводится «Ошибка при удалении файла.». Если файл не существует, выводится «Файл не существует.».
#вопросы_с_собеседований
В PHP функция unlink() используется для удаления файла из файловой системы. Она принимает единственный параметр — путь к файлу, который вы хотите удалить. После вызова unlink() попытается удалить указанный файл из файловой системы. В случае успешного выполнения файл будет удален безвозвратно.
Код из примера проверяет, существует ли файл, и если да, то пытается удалить его с помощью unlink(). В случае успешного удаления выводится «Файл успешно удален.»; в противном случае выводится «Ошибка при удалении файла.». Если файл не существует, выводится «Файл не существует.».
#вопросы_с_собеседований
Как я обновлял свой проект на Laravel c 10-й версии на 11-ю
https://habr.com/ru/articles/800497/
https://habr.com/ru/articles/800497/
Хабр
Как я обновлял свой проект на Laravel c 10-й версии на 11-ю
Сегодня, 12 марта 2024, года официально вышла Laravel 11 . Спустя час после этой новости я решил обновлять свой небольшой пет-проект, который сделан на Laravel 10 до 11-й версии. И вот, сейчас я...
Опишите три основных типа ошибок в PHP
В PHP ошибки делятся на три основных типа:
Уведомления (Notices):
Уведомления — это наименее серьезный тип ошибок.
Они указывают на некритические проблемы, которые могут повлиять на функциональность сценария, но не обязательно приведут к его остановке.
Например, попытка доступа к неопределенной переменной или использование неопределенного индекса в массиве вызывает уведомление.
Уведомления часто полезны для выявления потенциальных ошибок или улучшений в коде.
Предупреждения (Warnings):
Предупреждения более серьезны, чем уведомления, но менее критичны, чем фатальные ошибки.
Они указывают на проблемы, которые могут потенциально вызвать проблемы, но не приводят к остановке выполнения сценария.
Например, попытка включить файл, который не существует, или использование устаревшей функции вызывает предупреждение.
Разработчики должны обращать внимание на предупреждения, так как они могут указывать на проблемы, требующие внимания.
Фатальные ошибки (Fatal Errors):
Фатальные ошибки — самый серьезный тип ошибок в PHP.
Они приводят к завершению выполнения сценария, и сценарий не может продолжить работу после обнаружения фатальной ошибки.
Примеры фатальных ошибок включают вызов неопределенной функции, превышение лимита памяти или попытку повторного объявления класса.
Фатальные ошибки должны немедленно устраняться, так как они препятствуют нормальной работе сценария.
Обработка ошибок:
Для обработки ошибок в PHP разработчики могут использовать функции обработки ошибок, такие как set_error_handler() для определения пользовательской обработки ошибок, error_reporting() для установки уровня отчетности об ошибках, а также блоки try, catch и finally для обработки исключений в PHP 7 и более поздних версиях.
#вопросы_с_собеседований
В PHP ошибки делятся на три основных типа:
Уведомления (Notices):
Уведомления — это наименее серьезный тип ошибок.
Они указывают на некритические проблемы, которые могут повлиять на функциональность сценария, но не обязательно приведут к его остановке.
Например, попытка доступа к неопределенной переменной или использование неопределенного индекса в массиве вызывает уведомление.
Уведомления часто полезны для выявления потенциальных ошибок или улучшений в коде.
Предупреждения (Warnings):
Предупреждения более серьезны, чем уведомления, но менее критичны, чем фатальные ошибки.
Они указывают на проблемы, которые могут потенциально вызвать проблемы, но не приводят к остановке выполнения сценария.
Например, попытка включить файл, который не существует, или использование устаревшей функции вызывает предупреждение.
Разработчики должны обращать внимание на предупреждения, так как они могут указывать на проблемы, требующие внимания.
Фатальные ошибки (Fatal Errors):
Фатальные ошибки — самый серьезный тип ошибок в PHP.
Они приводят к завершению выполнения сценария, и сценарий не может продолжить работу после обнаружения фатальной ошибки.
Примеры фатальных ошибок включают вызов неопределенной функции, превышение лимита памяти или попытку повторного объявления класса.
Фатальные ошибки должны немедленно устраняться, так как они препятствуют нормальной работе сценария.
Обработка ошибок:
Для обработки ошибок в PHP разработчики могут использовать функции обработки ошибок, такие как set_error_handler() для определения пользовательской обработки ошибок, error_reporting() для установки уровня отчетности об ошибках, а также блоки try, catch и finally для обработки исключений в PHP 7 и более поздних версиях.
#вопросы_с_собеседований
🔥 Дайджест полезных материалов из мира PHP за неделю
Почитать:
— Как я обновлял свой проект на Laravel c 10-й версии на 11-ю
— WordPress: разбор уязвимости в Discount Rules for WooCommerce
— Добавление своих команд для CLI в Joomla 4 и Joomla 5 с помощью плагина
— Пишем REST-приложение на Delphi
— Мы пилили монолит — много нас, а он один. Полезные советы от команды Яндекс Еды
— Как я обработал один миллиард строк в PHP
— Simple Introduction To HTMX
— PHP 8 News: "Never" Return Type
— Symfony Station Communiqué — 15 March 2024. A look at Symfony, Drupal, PHP, Cybersecurity, and Fediverse news!
— My passion for the world of graph databases
— Exploring GOTO: A Journey into the Prehistory of Programming
— 30 days of code in PHP - Fibers (day 2-3)
— How to translate the Laravel password reset email
— Rector keeps your PHP code base fresh and perfect
— How to integrate Component Architecture into Symfony?
— Taming your PHP app's memory footprint
Посмотреть:
🌐 Второй поток курса OAuth 2.0 + Laravel Passport от CutCode. Обзор курса (⏱ 01:19)
🌐 Своя игра от CutCode. Викторина по PHP (⏱ 01:16:40)
🌐 Прием платежей в криптовалюте на сайте с Cryptadium (⏱ 40:39)
🌐 Уязвимости и защита сайта. XSS-уязвимость (⏱ 35:42)
Хорошего дня!
Почитать:
— Как я обновлял свой проект на Laravel c 10-й версии на 11-ю
— WordPress: разбор уязвимости в Discount Rules for WooCommerce
— Добавление своих команд для CLI в Joomla 4 и Joomla 5 с помощью плагина
— Пишем REST-приложение на Delphi
— Мы пилили монолит — много нас, а он один. Полезные советы от команды Яндекс Еды
— Как я обработал один миллиард строк в PHP
— Simple Introduction To HTMX
— PHP 8 News: "Never" Return Type
— Symfony Station Communiqué — 15 March 2024. A look at Symfony, Drupal, PHP, Cybersecurity, and Fediverse news!
— My passion for the world of graph databases
— Exploring GOTO: A Journey into the Prehistory of Programming
— 30 days of code in PHP - Fibers (day 2-3)
— How to translate the Laravel password reset email
— Rector keeps your PHP code base fresh and perfect
— How to integrate Component Architecture into Symfony?
— Taming your PHP app's memory footprint
Посмотреть:
🌐 Второй поток курса OAuth 2.0 + Laravel Passport от CutCode. Обзор курса (⏱ 01:19)
🌐 Своя игра от CutCode. Викторина по PHP (⏱ 01:16:40)
🌐 Прием платежей в криптовалюте на сайте с Cryptadium (⏱ 40:39)
🌐 Уязвимости и защита сайта. XSS-уязвимость (⏱ 35:42)
Хорошего дня!
Forwarded from Kali Linux
🚨 Обнаружена критическая ошибка в плагинах miniOrange для WordPress.
Если вы используете miniorange сканер вредоносных программ (≤ 4.7.2) или брандмауэр веб-приложений (≤ 2.1.1), НЕМЕДЛЕННО УДАЛИТЕ ИХ.
Уязвимость позволяет злоумышленникам завладеть вашим сайтом.
Подробнее: https://thehackernews.com/2024/03/wordpress-admins-urged-to-remove.html
@linuxkalii
Если вы используете miniorange сканер вредоносных программ (≤ 4.7.2) или брандмауэр веб-приложений (≤ 2.1.1), НЕМЕДЛЕННО УДАЛИТЕ ИХ.
Уязвимость позволяет злоумышленникам завладеть вашим сайтом.
Подробнее: https://thehackernews.com/2024/03/wordpress-admins-urged-to-remove.html
@linuxkalii