PHP Academy
8.34K subscribers
97 photos
23 videos
269 links
@tombange - с вопросами
Download Telegram
Раскройте возможности генераторов 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).

#вопросы_с_собеседований
Совет по Laravel 💡: Функция "scan"

Знаете ли вы, что вы можете использовать "scan" для разбора строки, введенной в коллекцию, в соответствии с форматом, поддерживаемым встроенной функцией PHP "sscanf"? 🚀

#php #laravel #веб-разработка #советы и хитрости
Что делает функция «unlink»?

В PHP функция unlink() используется для удаления файла из файловой системы. Она принимает единственный параметр — путь к файлу, который вы хотите удалить. После вызова unlink() попытается удалить указанный файл из файловой системы. В случае успешного выполнения файл будет удален безвозвратно.

Код из примера проверяет, существует ли файл, и если да, то пытается удалить его с помощью unlink(). В случае успешного удаления выводится «Файл успешно удален.»; в противном случае выводится «Ошибка при удалении файла.». Если файл не существует, выводится «Файл не существует.».

#вопросы_с_собеседований
Опишите три основных типа ошибок в PHP

В 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)

Хорошего дня!
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
🎥 Вот 45-минутный урок по PHPStan на YouTube.

В нем содержится большая часть того, что вам нужно знать о PHPStan, а также небольшой рабочий процесс CI👇

https://youtu.be/l6HkAYFBTJM

@phpshka