Раскройте возможности генераторов 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
Магический API Resource в Laravel
https://habr.com/ru/articles/800715/
https://habr.com/ru/articles/800715/
Хабр
Магический API Resource в Laravel
В Laravel есть удобные API ресурсы , с которыми легко и приятно работать в области трансформации данных для ответа на запрос. Но что делать когда возникает необходимость изменить их структуру в...
Анемичная модель предметной области и логика в сервисах
https://habr.com/ru/articles/800789/
https://habr.com/ru/articles/800789/
Хабр
Анемичная модель предметной области и логика в сервисах
Анемичная модель предметной области (Anemic domain model) это такая модель, где сущности содержат только свойства, а бизнес-логика находится в сервисах. Ее противоположность это богатая модель...
Система уведомлений в ресурсах Laravel
https://habr.com/ru/articles/800723/
https://habr.com/ru/articles/800723/
Хабр
Система уведомлений в ресурсах Laravel
В предыдущей статье по работе с API ресурсами в Laravel была затронута тема изменения бизнес-потребностей в области формирования внешнего вида объекта ответа на запрос к API приложения. В этой мы...
Исследование: какую долю занимает Joomla среди ru-сайтов в 2024 году?
https://habr.com/ru/articles/802387/
https://habr.com/ru/articles/802387/
Хабр
Исследование: какую долю занимает Joomla среди ru-сайтов в 2024 году?
В процессе работы как с самой Joomla, так и вместе с Joomla-сообществом периодически возникали вопросы о том "какую долю рынка CMS" занимает Joomla, каким общедоступным цифрам можно доверять и...
PHP и Laravel дайджест новостей за февраль 2024 года
https://habr.com/ru/articles/802343/
https://habr.com/ru/articles/802343/
Хабр
PHP и Laravel дайджест новостей за февраль 2024 года
Всем привет! Краткий обзор новостей из мира PHP и Laravel за февраль 2024 года от CutCode . PHP Дайджест Вышли PHP 8.2.16 и PHP 8.3.3 ? Выпуски с исправлениями ошибок вышли по расписанию. Вышел...
Как я уронил прод на полтора часа (и при чем тут soft delete и partial index)
https://habr.com/ru/companies/skyeng/articles/802191/
https://habr.com/ru/companies/skyeng/articles/802191/
Хабр
Как я уронил прод на полтора часа (и при чем тут soft delete и partial index)
Привет! Меня зовут Олег, и я работаю в Skyeng. Мы с командой разрабатываем ядро образовательной платформы, на которой проходят все онлайн‑уроки, решаются домашки, экзамены и...
🎥 Вот 45-минутный урок по PHPStan на YouTube.
В нем содержится большая часть того, что вам нужно знать о PHPStan, а также небольшой рабочий процесс CI👇
https://youtu.be/l6HkAYFBTJM
@phpshka
В нем содержится большая часть того, что вам нужно знать о PHPStan, а также небольшой рабочий процесс CI👇
https://youtu.be/l6HkAYFBTJM
@phpshka
YouTube
PHPStan static analysis in PHP
Unlock the full potential of your PHP code with PHPStan. Here's a 45 min dive deep into the world of static analysis, exploring how PHPStan can improve the quality of your code revolutionise the way you work. We'll round the whole lot off with a nice little…