Обложка канала

PHP.today

3917 @phptoday

Свежие новости из мира PHP. Обновленные стандарты. Лучшие практики с примерами кода. Как писать чистый, читаемый и понятный код.

  • PHP.today

    Вот вам еще одна статейка по безопастности веб приложений, на этот раз о SSRF habr.com/ru/comp…g/590673
    Атака с большим будущим: за что SSRF поместили в ТОП-10 киберугроз

    В конце сентября сообщество OWASP (Open Web Application Security Project) выпустило обновленную версию списка наиболее опасных угроз для веб-приложений OWASP Top-10. Примечательным стало появление в...

    Хабр
  • PHP.today

    Большую часть жизни пишу код под Magento и Symfony, и, знаете, я настолько привык использовать геттеры и сеттеры, что нововведения PHP 8 в виде объявления свойств в конструкторе с последующим использованием публичных или readonly свойств мне как будто режет глаз. С одной стороны код получается короче и пишется быстрее, но уже давно существуют кодогенераторы, которые делают все за тебя. А вы используете публичные свойства?
  • PHP.today

    Не используйте получение защищенных куками json данных через GET запрос! Если вы: 1. Используете AJAX GET чтобы получить данные пользователя 2. Для авторизации на этом эндпоинте используете куки 3. Возвращаемые данные в формате JSON То поздравляю, вы уязвимы для json hijacking! Пора поменять хотяб один из этих трех пунктов. Подробности тут: https://habr.com/ru/post/63176/
    Угон JSON

    В статье рассматривается метод перехвата данных отдаваемых через JSON с использованием метода "__defineSetter__", Этой уязвимости подвержены сайты JSON с которых: содержит конфиденциальные...

    Хабр
  • Реклама

  • PHP.today

    Как избежать 10 частых ошибок в настройке NGINX

    Помогая пользователям NGINX с разрешением проблемных ситуаций, мы поняли, что большинство из них часто совершает одни и те же ошибки конфигурации. Более того, подобные ситуации вполне могут...

    Хабр
  • PHP.today

    А вы когда-нибудь задумывались о том, нравится ли вам PHP, и насколько вы представляете себя серьезным программистом? Не стоит стыдиться PHP. Если вы живете в СНГ, или имеете хороший багаж в какой-нибудь популярной CMS - то, скорее всего вы будете довольны своей работой на PHP, и все будет хорошо. Нет, я не говорю, что язык плохой - очень даже хороший, и ООП можно красивое построить, и в целом код выглядит отлично и понятно, учитывая то, что у нас нет тонн синтаксического сахара. Но если вдруг вам захочется в FAANG, придется переучиваться. Я недавно вдруг осознал, что JavaScript, лет десять назад воспринимаемый как какая-то несерьезная игрушка, которую неумехи-верстальщики пытаются затащить на бэк или сделать там типизацию и красивые классы - уже вполне себе обогнал PHP и по использованию, и по удобству, и, что немаловажно, по зарплате. С учетом того что это чуть ли не единственный фронтовый язык - с JavaScript дороги открыты практически в любую компанию. Статья меня не убедила, но может убедит вас: https://habr.com/ru/post/652545/
    Не нужно стыдиться PHP

    Недавно я решил зайти на сайт cybersport.ru (проект VK GROUP), где хотел посмотреть результаты матчей наших мальчиков по Dote. Мой взгляд упал на статью "Когда будет новый...

    Хабр
  • PHP.today

    Хорошая статья о том, как ребята внедряли статический анализ и что из этого вышло habr.com/ru/comp…g/649257
    Статический анализ и уже выросший проект: внедрять нельзя откладывать

    Зачем нужен статический анализ кода, кажется, никому объяснять сегодня уже не нужно. Но одно дело — поддерживать код «чистым» с первого коммита, и совсем другое — встраивать новый инструмент в проект,...

    Хабр
  • PHP.today

    🧪 PhpStorm Tips & Tricks

    The ultimate list of all my favourite tips and tricks when working with PhpStorm.

    Masteringphpstorm
  • PHP.today

    Сейчас из каждого утюга можно услышать: ML, нейросети, обучение. А вы знали, что для того, чтобы потрогать нейросети и даже запустить свою не обязательно учить Python или R? Попробовать можно даже на PHP. Вот есть парочка библиотек https://habr.com/ru/company/otus/blog/599985/ А вот еще расширение для PHP, оно устарело и больше не поддерживается, но для того чтоб потрогать и понять - нравится/не нравится - этого достаточно Для реального проекта все-таки стоит выбрать другой язык, но потрогать можно уже здесь и сейчас! P.S. Знаете, откуда выражение «из каждого утюга»? Если советский утюг старой модели воткнуть в розетку радиоточки, можно услышать радио, тихо правда.
    Фреймворки машинного обучения для PHP-разработчиков

    По сей день вокруг машинного обучения не утихает большой ажиотаж. Машинное обучение, искусственный интеллект, Python, Tensor Flow, NumPy — это главные темы для обсуждения во многих группах социальных...

    Хабр
  • PHP.today

    Вдогонку к посту про БД: тут недавно обнаружили старый баг MySQL и MariaDB, который позволяет писать выражения, пропускаемые большинством firewalls и прочих костылей для обнаружения SQL-injection в запросе. Поэтому пишите безопасный код с обязательным экранированием всех параметров прямо на PHP, не нужно писать говнокод в надежде на какой-то плагин для nginx! https://habr.com/ru/news/t/585346/
    Ошибка в экспоненциальной форме записи чисел в MySQL сделала клиентов AWS WAF уязвимыми для внедрения SQL

    Этичные хакеры из Go Secure обнаружили ошибку в MySQL, угрожающую безопасности. Из-за неё клиенты AWS Web Application Firewall (WAF) остались незащищёнными от внедрения SQL. Ещё одна исследовательская...

    Хабр
  • PHP.today

    Тут завезли немного здравого смысла, правда сильно смешали его с личными предпочтениями автора, и отсутствием хороших примеров использования NoSQL. Почему SQL в решении большинства задач лучше, чем NoSQL базы данных, и когда все-таки брать NoSQL? https://habr.com/ru/post/596969/
    NoSQL и Антивакцинаторство

    Говорят, что вакцины стали жертвами собственной эффективности. Будто если бы мы видели, как странновато одетый кучер раз в неделю забирал бы трупы нескольких...

    Хабр
  • PHP.today

    Год назад прошел первый большой PHP-опрос. Сейчас мы снова собираем лучшие статьи, видео и инструменты по мнению сообщества, выясняем, кто с какими технологиями провел год, - а в конце разыграем мерч и другие подарки. Найди 5 минут, чтобы подвести итоги своего PHP-года: https://phpsurvey.typeform.com/to/FeIOkDIP
    PHP-итоги года

    2-й ежегодный опрос PHP-сообщества: все, что было важно в уходящем году.

    Typeform
  • PHP.today

    История о том, как парень написал свой elasticsearch на php и что из этого вышло. А какие нестандартные решения писали вы? Расскажите в комментариях https://habr.com/ru/post/595765/
    История разработки фасетного поиска средствами PHP

    Как экспериментальный Pet Project дошел до production и на что способны современные версии языка PHP. Немного о проблематике фасетного поиска в части построения агрегатов.Если ваша первая реакция:...

    Хабр
  • PHP.today

    Прошли знаменитые скидочные дни, и астрологи объявили неделю статей о highload факапах. Держите одну из них, там про Magento, однако большинство ошибок, подпаливших пятые точки девелоперов на Black Friday - вполне себе могут произойти и с вашим кодом. P.S. Скорее всего люди с опытом highload не найдут для себя ничего сильно полезного, ребята в статье попались на ошибки новичков. https://dou.ua/forums/topic/35426/
    7 ошибок одного Black Friday. Основано на реальных событиях

    «Это были действительно безумные сутки с большим количеством людей на созвоне, когда мне пришлось работать около 30 часов подряд. С тех пор я не люблю проводить Black Friday в офисе». Влад Опухлый, Magento Tech Lead в Magecom, рассказывает историю одно

    ДОУ
  • PHP.today

    В четверг вышел PHP 8.1, а я, как работник кровавого энтерпрайза, все еще на 7.4. Мне кажется, идут в ногу с релизами зачастую или молодые компании, или те, кто выжимает из языка максимум скорости. За ними тянутся компании, где тех лиды могут пропихнуть рефакторинг менеджерам. А вот особняком стоят CMSки и аутсорсинг проекты которые уже прошли стадию активной разработки. Например, Magento с поддержкой PHP 8.1 выйдет только весной. Ну а почитать про новинки языка можно тут https://www.php.net/releases/8.1/ru.php Напишите в комментарии, как в вашей компании обстоят дела с обновлением версии языка.
    PHP 8.1 Released

    PHP 8.1 — большое обновление языка PHP: перечисления, readonly-свойства, callback-функции как объекты первого класса, файберы, пересечение типов, улучшения производительности и многое другое.

    www.php.net
  • PHP.today

    🔴 Релиз PHP 8.1, запуск PHP Foundation и истории переезда на 8.0 Прямо сейчас в эфире стрим, подключайтесь! https://www.youtube.com/watch?v=5D337gaVPa4
    Релиз PHP 8.1, запуск PHP Foundation и истории переезда на 8.0

    Обсудим апдейты нового релиза и новость о создании PHP Foundation — фонда в поддержку языка. А еще послушаем, как ребята из 4 компаний проекты на 8.0 перевозили: с чем столкнулись и что советуют. https://opencollective.com/phpfoundation — о том, как поддержать PHP Foundation. Стрим ведут Валентин Удальцов (Пых, PHP Point), Александр Макаров (Yii, PHP Russia), Роман Пронский (PHP Digest, PHP Point). Делиться кейсами переезда придут: - Евгений Прохоров (Skyeng) - Александр Данковцев (Авито) - Иван Корноухов (Badoo) - Максим Фомичев (ManyChat) Зафиналим стрим квизом от сообщества. Проведет Алексей Сундуков из самарского PHP-комьюнити. https://phpcommunity.ru/php-8-1 — подробнее о стриме. ====================================== Стрим поддержали и поделились анонсом: * Канал Пых — https://t.me/phpyh * PHP Point — https://www.youtube.com/c/phppoint * PHP Digest — https://t.me/phpdigest * ManyChat — https://manychat.com/ * AvitoTech — https://avito.tech/ * PHP Russia — https://t.me/PHPRussiaConfTalks * Badoo…

    YouTube
  • Реклама

  • PHP.today

    Стрим к релизу PHP 8.1 25 ноября в 19:00 обсудим в онлайне апдейты релиза и PHP Foundation. А 4 компании поделятся опытом, как перевозили проекты на 8.0: от причин переезда и ожиданий до результатов и практических советов. Вести стрим будут: Валентин Удальцов (Пых), Александр Макаров (Yii), Роман Пронский (PHP Digest) Расскажут, как переезжали на 8.0: Валентин Назаров (Skyeng), Александр Данковцев (Авито), Максим Фомичев (ManyChat), Иван Корноухов (Badoo) Детали и тайминг собрали тут.
    Релиз PHP 8.1 и истории переезда на 8.0 от Skyeng, ManyChat, Badoo и Авито

    Соберемся обсудить, что 8.1 нам готовит, и другие новости. А еще послушаем, как ребята из 4 компаний проекты на 8.0 перевозили: с чем столкнулись и что советуют. Стрим ведут Валентин Удальцов (Пых, PHP Point), Александр Макаров (Yii, PHP Russia), Роман Пронский (PHP Digest, PHP Point). Делиться кейсами переезда придут: - Валентин Назаров (Skyeng) - Саша Данковцев (Авито) - Ваня Корноухов (Badoo) - Максим Фомичев (ManyChat) Зафиналим классным квизом, с которым помогают Евгений Прохоров из ульяновского PHP-сообщества и Алексей Сундуков из самарского комьюнити.

    YouTube
  • PHP.today

    Всем привет! Прошу прощения за долгое молчание, жизнь приперла к стенке, и пришлось отбиваться =) Пришлось переезжать, и все лето ушло на переезд и обустройство на новом месте. Сегодняшний пост будет скорее для маководов, хотя и для линуксоидов тула подойдет, но, местами - не автоматически. Речь про warden.dev. Warden - это консольная утилита для управления контейнерами, идельно подходит для Magento, а также для  Symfony, Laravel, Showare, Commonalities. На маке работает довольно шустро, умеет: - Включать-выключать xdebug по наличию куки из расширения Xdebug Helper автоматически - Поднимать новые хосты всего в несколько команд - Https из коробки без самостоятельных настроек - Portainer, Traefik, MailHog уже включены. - Удобное управление версиями через .env файл - поменял php с 7.2 на 8.0, или elasticsearch с 6 на 7.4, перезагрузил, готово. - Автоматически прописывает хосты на macos, не нужно топать в /etc/hosts Ну и если понадобится что-то уж совсем кастомное - всегда можно поправить любые конфиги, добавить инструкции в docker-compose или поменять docker-образ Ссылочка: https://warden.dev/ #docker #warden #docker-compose
  • PHP.today

    Возможно, вы уже знаете об этом, но я все равно напишу: Проверять свои composer зависимости на предмет известных уязвимостей можно просто добавив в dev зависимости пакет: composer require --dev roave/security-advisories:dev-latest Это простой metapackage, в котором в директиве conflict описаны известные версии библиотек с уязвимостями. Т.е. при попытке установить пакет с уязвимостью вы получите ошибку на уровне composer require. Ссылка на github: https://github.com/Roave/SecurityAdvisories
    GitHub - Roave/SecurityAdvisories: Security advisories as a simple composer exclusion list, updated daily

    :closed_lock_with_key: Security advisories as a simple composer exclusion list, updated daily - GitHub - Roave/SecurityAdvisories: Security advisories as a simple composer exclusion list, updated d...

    GitHub