Не используйте получение защищенных куками json данных через GET запрос!
Если вы:
1. Используете AJAX GET чтобы получить данные пользователя
2. Для авторизации на этом эндпоинте используете куки
3. Возвращаемые данные в формате JSON
То поздравляю, вы уязвимы для json hijacking! Пора поменять хотяб один из этих трех пунктов.
Подробности тут: https://habr.com/ru/post/63176/
В статье рассматривается метод перехвата данных отдаваемых через JSON с использованием метода "__defineSetter__", Этой уязвимости подвержены сайты JSON с которых: содержит конфиденциальные...
Помогая пользователям NGINX с разрешением проблемных ситуаций, мы поняли, что большинство из них часто совершает одни и те же ошибки конфигурации. Более того, подобные ситуации вполне могут...
А вы когда-нибудь задумывались о том, нравится ли вам PHP, и насколько вы представляете себя серьезным программистом?
Не стоит стыдиться PHP.
Если вы живете в СНГ, или имеете хороший багаж в какой-нибудь популярной CMS - то, скорее всего вы будете довольны своей работой на PHP, и все будет хорошо. Нет, я не говорю, что язык плохой - очень даже хороший, и ООП можно красивое построить, и в целом код выглядит отлично и понятно, учитывая то, что у нас нет тонн синтаксического сахара.
Но если вдруг вам захочется в FAANG, придется переучиваться.
Я недавно вдруг осознал, что JavaScript, лет десять назад воспринимаемый как какая-то несерьезная игрушка, которую неумехи-верстальщики пытаются затащить на бэк или сделать там типизацию и красивые классы - уже вполне себе обогнал PHP и по использованию, и по удобству, и, что немаловажно, по зарплате. С учетом того что это чуть ли не единственный фронтовый язык - с JavaScript дороги открыты практически в любую компанию.
Статья меня не убедила, но может убедит вас:
https://habr.com/ru/post/652545/
Недавно я решил зайти на сайт cybersport.ru (проект VK GROUP), где хотел посмотреть результаты матчей наших мальчиков по Dote. Мой взгляд упал на статью "Когда будет новый...
Зачем нужен статический анализ кода, кажется, никому объяснять сегодня уже не нужно. Но одно дело — поддерживать код «чистым» с первого коммита, и совсем другое — встраивать новый инструмент в проект,...
Сейчас из каждого утюга можно услышать: ML, нейросети, обучение.
А вы знали, что для того, чтобы потрогать нейросети и даже запустить свою не обязательно учить Python или R? Попробовать можно даже на PHP.
Вот есть парочка библиотек https://habr.com/ru/company/otus/blog/599985/
А вот еще расширение для PHP, оно устарело и больше не поддерживается, но для того чтоб потрогать и понять - нравится/не нравится - этого достаточно
Для реального проекта все-таки стоит выбрать другой язык, но потрогать можно уже здесь и сейчас!
P.S. Знаете, откуда выражение «из каждого утюга»? Если советский утюг старой модели воткнуть в розетку радиоточки, можно услышать радио, тихо правда.
По сей день вокруг машинного обучения не утихает большой ажиотаж. Машинное обучение, искусственный интеллект, Python, Tensor Flow, NumPy — это главные темы для обсуждения во многих группах социальных...
Вдогонку к посту про БД: тут недавно обнаружили старый баг MySQL и MariaDB, который позволяет писать выражения, пропускаемые большинством firewalls и прочих костылей для обнаружения SQL-injection в запросе.
Поэтому пишите безопасный код с обязательным экранированием всех параметров прямо на PHP, не нужно писать говнокод в надежде на какой-то плагин для nginx!
https://habr.com/ru/news/t/585346/
Этичные хакеры из Go Secure обнаружили ошибку в MySQL, угрожающую безопасности. Из-за неё клиенты AWS Web Application Firewall (WAF) остались незащищёнными от внедрения SQL. Ещё одна исследовательская...
Тут завезли немного здравого смысла, правда сильно смешали его с личными предпочтениями автора, и отсутствием хороших примеров использования NoSQL.
Почему SQL в решении большинства задач лучше, чем NoSQL базы данных, и когда все-таки брать NoSQL?
https://habr.com/ru/post/596969/
Говорят, что вакцины стали жертвами собственной эффективности. Будто если бы мы видели, как странновато одетый кучер раз в неделю забирал бы трупы нескольких...
Год назад прошел первый большой PHP-опрос. Сейчас мы снова собираем лучшие статьи, видео и инструменты по мнению сообщества, выясняем, кто с какими технологиями провел год, - а в конце разыграем мерч и другие подарки.
Найди 5 минут, чтобы подвести итоги своего PHP-года:
https://phpsurvey.typeform.com/to/FeIOkDIP
История о том, как парень написал свой elasticsearch на php и что из этого вышло.
А какие нестандартные решения писали вы? Расскажите в комментариях
https://habr.com/ru/post/595765/
Как экспериментальный Pet Project дошел до production и на что способны современные версии языка PHP. Немного о проблематике фасетного поиска в части построения агрегатов.Если ваша первая реакция:...
Прошли знаменитые скидочные дни, и астрологи объявили неделю статей о highload факапах.
Держите одну из них, там про Magento, однако большинство ошибок, подпаливших пятые точки девелоперов на Black Friday - вполне себе могут произойти и с вашим кодом.
P.S. Скорее всего люди с опытом highload не найдут для себя ничего сильно полезного, ребята в статье попались на ошибки новичков.
https://dou.ua/forums/topic/35426/
«Это были действительно безумные сутки с большим количеством людей на созвоне, когда мне пришлось работать около 30 часов подряд. С тех пор я не люблю проводить Black Friday в офисе».
Влад Опухлый, Magento Tech Lead в Magecom, рассказывает историю одно
В четверг вышел PHP 8.1, а я, как работник кровавого энтерпрайза, все еще на 7.4.
Мне кажется, идут в ногу с релизами зачастую или молодые компании, или те, кто выжимает из языка максимум скорости. За ними тянутся компании, где тех лиды могут пропихнуть рефакторинг менеджерам.
А вот особняком стоят CMSки и аутсорсинг проекты которые уже прошли стадию активной разработки.
Например, Magento с поддержкой PHP 8.1 выйдет только весной.
Ну а почитать про новинки языка можно тут https://www.php.net/releases/8.1/ru.php
Напишите в комментарии, как в вашей компании обстоят дела с обновлением версии языка.
PHP 8.1 — большое обновление языка PHP: перечисления, readonly-свойства, callback-функции как объекты первого класса, файберы, пересечение типов, улучшения производительности и многое другое.
Обсудим апдейты нового релиза и новость о создании 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…
Стрим к релизу PHP 8.1
25 ноября в 19:00 обсудим в онлайне апдейты релиза и PHP Foundation. А 4 компании поделятся опытом, как перевозили проекты на 8.0: от причин переезда и ожиданий до результатов и практических советов.
Вести стрим будут: Валентин Удальцов (Пых), Александр Макаров (Yii), Роман Пронский (PHP Digest)
Расскажут, как переезжали на 8.0: Валентин Назаров (Skyeng), Александр Данковцев (Авито), Максим Фомичев (ManyChat), Иван Корноухов (Badoo)
Детали и тайминг собрали тут.
Соберемся обсудить, что 8.1 нам готовит, и другие новости. А еще послушаем, как ребята из 4 компаний проекты на 8.0 перевозили: с чем столкнулись и что советуют.
Стрим ведут Валентин Удальцов (Пых, PHP Point), Александр Макаров (Yii, PHP Russia), Роман Пронский (PHP Digest, PHP Point).
Делиться кейсами переезда придут:
- Валентин Назаров (Skyeng)
- Саша Данковцев (Авито)
- Ваня Корноухов (Badoo)
- Максим Фомичев (ManyChat)
Зафиналим классным квизом, с которым помогают Евгений Прохоров из ульяновского PHP-сообщества и Алексей Сундуков из самарского комьюнити.
Всем привет! Прошу прощения за долгое молчание, жизнь приперла к стенке, и пришлось отбиваться =) Пришлось переезжать, и все лето ушло на переезд и обустройство на новом месте.
Сегодняшний пост будет скорее для маководов, хотя и для линуксоидов тула подойдет, но, местами - не автоматически.
Речь про 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
Возможно, вы уже знаете об этом, но я все равно напишу:
Проверять свои composer зависимости на предмет известных уязвимостей можно просто добавив в dev зависимости пакет:
composer require --dev roave/security-advisories:dev-latest
Это простой metapackage, в котором в директиве conflict описаны известные версии библиотек с уязвимостями. Т.е. при попытке установить пакет с уязвимостью вы получите ошибку на уровне composer require.
Ссылка на github: https://github.com/Roave/SecurityAdvisories
Отличная статья от автора канала Beer::PHP, где он на пальцах показывает принцип подстановки Лисков, с примерами "хорошо/плохо"
Все тут telegra.ph/Princip…ya-04-24
#solid #liskov #design
Здесь публикуются короткие заметки о PHP, Linux, Unit Testing, DB, OOP, etc., выдержки из статей, книг, видео, курсов и других материалов.
Теперь тебе больше не нужно перерывать тонны информации ;)
@genkovich — написать автору канала.
Не мокайте то, чем вы не владеете! Моканье классов третьесторонних библиотек - довольно скользкая дорожка.
Перевел статейку авторов PHPUnit. Перевод на хабре https://habr.com/ru/post/554318/, оригинал тут thephp.cc/news/20…-not-own
#тестирование #phpunit #unittest
P.S. На самом деле в статье взят самый простой пример, и оборачивание всех сервисов фреймворка в отдельный слой своих классов - на мой взгляд - оверхед. Но в некоторых местах это действительно нужно сделать так (ну или похоже), как описано в статье
Прим. переводчика: само правило достаточно старое, да и пример, приведенный в статье - на мой взгляд самый простой. Поэтому статья подойдет скорее для новичков,...