Как правильно проверять сложность пароля пользователя при регистрации
За десятилетия айтишки сложилась практика ограничивать пользователей в сложности их паролей. Сейчас пароль пользователя должен:
быть не меньше N символов;
&& быть не больше M символов (чуть реже встречается такое правило);
Содержать хотя бы одну большую букву;
Содержать хотя бы одну маленькую букву;
Содержать хотя бы одну цифру;
Содержать хотя бы один спецсимвол;
https://habr.com/ru/post/714478/
👉 @php_lib
За десятилетия айтишки сложилась практика ограничивать пользователей в сложности их паролей. Сейчас пароль пользователя должен:
быть не меньше N символов;
&& быть не больше M символов (чуть реже встречается такое правило);
Содержать хотя бы одну большую букву;
Содержать хотя бы одну маленькую букву;
Содержать хотя бы одну цифру;
Содержать хотя бы один спецсимвол;
https://habr.com/ru/post/714478/
👉 @php_lib
👍3
При использовании «сырых» запросов не забывайте передавать в него параметры через привязку.
Это защитит от SQL-инъекций.
👉 @php_lib
Это защитит от SQL-инъекций.
👉 @php_lib
👍3
Статический анализ кода PHP — держите свой код под контролем
https://tsh.io/blog/php-static-code-analysis/
👉 @php_lib
https://tsh.io/blog/php-static-code-analysis/
👉 @php_lib
👍3
Size-sorter
Удобная сортировка размеров одежды, роста, размеров бюстгальтера, размеров мебели и т.д.
При вызове сортировки с общими значениями каждый элемент будет отнесен к одной из пяти групп:
Буквенные размеры одежды (XXS, XS, M, L и т.д.)
Числовой размер одежды и обуви (9, 10, 44-46, 48 и т.д.)
Размер бюстгальтера (70B, 75A, 80C и т.д.)
Габаритные размеры предметов (40x38x19 см и т.д.)
Другие значения
https://github.com/TheDragonCode/size-sorter
👉 @php_lib
Удобная сортировка размеров одежды, роста, размеров бюстгальтера, размеров мебели и т.д.
При вызове сортировки с общими значениями каждый элемент будет отнесен к одной из пяти групп:
Буквенные размеры одежды (XXS, XS, M, L и т.д.)
Числовой размер одежды и обуви (9, 10, 44-46, 48 и т.д.)
Размер бюстгальтера (70B, 75A, 80C и т.д.)
Габаритные размеры предметов (40x38x19 см и т.д.)
Другие значения
https://github.com/TheDragonCode/size-sorter
👉 @php_lib
👍6🔥1
Sla-timer
PHP-пакет для расчета и отслеживания сроков выполнения соглашения об уровне обслуживания
Пример использования
https://github.com/sifex/sla-timer
👉 @php_lib
PHP-пакет для расчета и отслеживания сроков выполнения соглашения об уровне обслуживания
Пример использования
require 'vendor/autoload.php';
use Sifex\SlaTimer\SLA;
use Sifex\SlaTimer\SLABreach;
use Sifex\SlaTimer\SLASchedule;
/**
* Create a new SLA between 9am and 5:30pm weekdays
*/
$sla = SLA::fromSchedule(
SLASchedule::create()->from('09:00:00')->to('17:30:00')
->onWeekdays()
);
https://github.com/sifex/sla-timer
👉 @php_lib
👍4
PHP. Как увеличить потребление памяти в 3 и более раз при работе с массивами
Известно, что PHP активно использует механизм copy-on-write. Это означает, что при попытке внутри функции что-то записать в переданные ей параметры, вначале будет сделана копия этой переменной, а уж затем в неё что-то запишется. Такая же ситуация наблюдается с итерацией массива с помощью foreach. Отсюда следует, что вам потребуется увеличить количество памяти для создания копии переменной и времени (ресурсов ЦП), чтобы всё это проделать. Т.е. возникнет пауза, прежде чем PHP перейдёт к следующей строчке вашей программы.
https://habr.com/ru/articles/746868/
👉 @php_lib
Известно, что PHP активно использует механизм copy-on-write. Это означает, что при попытке внутри функции что-то записать в переданные ей параметры, вначале будет сделана копия этой переменной, а уж затем в неё что-то запишется. Такая же ситуация наблюдается с итерацией массива с помощью foreach. Отсюда следует, что вам потребуется увеличить количество памяти для создания копии переменной и времени (ресурсов ЦП), чтобы всё это проделать. Т.е. возникнет пауза, прежде чем PHP перейдёт к следующей строчке вашей программы.
https://habr.com/ru/articles/746868/
👉 @php_lib
👍6
Media is too big
VIEW IN TELEGRAM
Полный курс Laravel Swagger. REST API Laravel
00:00:00 Введение
00:04:25 Делаем заготовку
00:16:20 Установка Swagger
00:22:18 Общие аннотации и настройки Swagger
00:28:01 CRUD со Swagger
01:03:03 Установка JWT Auth
01:13:08 Авторизация и защищенные роуты в Swagger
01:20:20 Бонус. Нестандартные тело запроса и ответа
источник
👉 @php_lib
00:00:00 Введение
00:04:25 Делаем заготовку
00:16:20 Установка Swagger
00:22:18 Общие аннотации и настройки Swagger
00:28:01 CRUD со Swagger
01:03:03 Установка JWT Auth
01:13:08 Авторизация и защищенные роуты в Swagger
01:20:20 Бонус. Нестандартные тело запроса и ответа
источник
👉 @php_lib
👍4
Список альтернативных интерпретаторов и компиляторов PHP и JS
https://github.com/gakowalski/alternative-interpreters
👉 @php_lib
https://github.com/gakowalski/alternative-interpreters
👉 @php_lib
GitHub
GitHub - gakowalski/alternative-interpreters: List of alternative PHP nad JS interpreters and compilers
List of alternative PHP nad JS interpreters and compilers - gakowalski/alternative-interpreters
👍3
Релиз Laravel Prompts
Laravel Prompts - это PHP-пакет для добавления красивых и удобных форм в приложения командной строки с функциями, подобными браузерным, включая текст-заполнитель и валидацию.
https://laravel.com/docs/10.x/prompts
👉 @php_lib
Laravel Prompts - это PHP-пакет для добавления красивых и удобных форм в приложения командной строки с функциями, подобными браузерным, включая текст-заполнитель и валидацию.
https://laravel.com/docs/10.x/prompts
👉 @php_lib
👍2
Backend
Backend: Введение в PHP, часть 1
Backend: Введение в PHP, часть 2
Backend: Введение в PHP, часть 3
Backend: Введение в PHP, часть 4 - авторизация по токену
Backend: Введение в PHP, часть 5 - HTTP status codes
Backend: Введение в PHP, часть 6 - обработка данных и защита от ошибок
Backend: Введение в PHP, часть 7 - обработка файлов на стороне PHP (Формы и base64)
Продвинутый PHP: Основы ООП
Продвинутый PHP: Основы Laravel
Продвинутый PHP: Основы Laravel - Router&Middleware
Продвинутый PHP: Основы Laravel - Eloquent ORM, часть 1
Продвинутый PHP: Основы Laravel - Eloquent ORM, часть 2 - отношения
Продвинутый PHP: Основы Laravel - JWT-авторизация
Продвинутый PHP: Основы Laravel - монолитные приложения MVC
Продвинутый PHP: Основы Laravel - авторизация в монолитных приложениях MVC
Все видео доступны на youtube
👉 @php_lib
Backend: Введение в PHP, часть 1
Backend: Введение в PHP, часть 2
Backend: Введение в PHP, часть 3
Backend: Введение в PHP, часть 4 - авторизация по токену
Backend: Введение в PHP, часть 5 - HTTP status codes
Backend: Введение в PHP, часть 6 - обработка данных и защита от ошибок
Backend: Введение в PHP, часть 7 - обработка файлов на стороне PHP (Формы и base64)
Продвинутый PHP: Основы ООП
Продвинутый PHP: Основы Laravel
Продвинутый PHP: Основы Laravel - Router&Middleware
Продвинутый PHP: Основы Laravel - Eloquent ORM, часть 1
Продвинутый PHP: Основы Laravel - Eloquent ORM, часть 2 - отношения
Продвинутый PHP: Основы Laravel - JWT-авторизация
Продвинутый PHP: Основы Laravel - монолитные приложения MVC
Продвинутый PHP: Основы Laravel - авторизация в монолитных приложениях MVC
Все видео доступны на youtube
👉 @php_lib
👍8
Media is too big
VIEW IN TELEGRAM
Introduction into PHP community with Graph databases
Это видео должно стать введением в использование графовых баз данных для всех представителей php-сообщества. Я объясняю основные причины, по которым стоит начать использовать графовые базы данных, основываясь на своем опыте веб-разработки.
источник
👉 @php_lib
Это видео должно стать введением в использование графовых баз данных для всех представителей php-сообщества. Я объясняю основные причины, по которым стоит начать использовать графовые базы данных, основываясь на своем опыте веб-разработки.
источник
👉 @php_lib
👍2
Media is too big
VIEW IN TELEGRAM
PHP, PDO SQL Injection
SQL Injection минимум который должен знать каждый разработчик код которого работает в production
00:00 Вступление и оглавление
01:06 Определения (теория)
01:45 Чем опасны SQL Injection
03:34 Практический стенд
06:12 Обхода аутедентификации
09:23 Модификации базы данных
11:47 Защита с помощью placeholder
15:49 Защита там где placeholder не применимы
источник
👉 @php_lib
SQL Injection минимум который должен знать каждый разработчик код которого работает в production
00:00 Вступление и оглавление
01:06 Определения (теория)
01:45 Чем опасны SQL Injection
03:34 Практический стенд
06:12 Обхода аутедентификации
09:23 Модификации базы данных
11:47 Защита с помощью placeholder
15:49 Защита там где placeholder не применимы
источник
👉 @php_lib
👍6😁1
Composer, Создание своего пакета
PHP, Composer, Советы по созданию пакета, composer.json
PHP, composer, публикация пакета на packagist и github
Code style вашего проекта
Интеграция travis-ci в ваш php проект
PHPSTAN. Статический анализ PHP проекта
PHPINSIGHTS, Статический анализ в вашего PHP проекта
PSALM, статический анализ PHP проекта
PHPMD, статический анализ php mess detector
источник
👉 @php_lib
PHP, Composer, Советы по созданию пакета, composer.json
PHP, composer, публикация пакета на packagist и github
Code style вашего проекта
Интеграция travis-ci в ваш php проект
PHPSTAN. Статический анализ PHP проекта
PHPINSIGHTS, Статический анализ в вашего PHP проекта
PSALM, статический анализ PHP проекта
PHPMD, статический анализ php mess detector
источник
👉 @php_lib
🔥4❤1