Сообщения

Сообщения за октябрь, 2022

5 советов по упрощению кода Laravel

Изображение
  1. Упростите операторы if/else При написании методов или функций, которые используют операторы if/else для проверки условия, мы можем очистить функцию или метод, используя сокращенную версию простого оператора if/else следующим образом: 2. Используйте Laravel  exists() вместо  count() проверки существования экземпляра модели. При запросе к базе данных и попытке доступа к экземпляру модели иногда наши запросы Eloquent возвращаются пустыми или нулевыми.  Первым делом нужно проверить, равно ли количество моделей 0, а если нет, то что-то существует, но Laravel предоставляет готовый метод для проверки существования экземпляра модели. 3. Используйте  modelKeys() для получения первичных ключей вместо pluck() Когда мы обращаемся к модели и пытаемся получить первичные ключи или идентификаторы модели, самый простой способ сделать это — использовать  pluck() для получения определенных полей.  Но если все, к чему вы хотите получить доступ, это ключи модели или п...

Топ-8 плохих практик безопасности в Laravel, о которых вы должны знать

Изображение
Настоящая безопасность заключается в самой практике кода, мы не можем определить, безопасен фреймворк или нет, Laravel настолько безопасен, насколько это возможно, и максимально оптимизирован, это действительно зависит от разработчика. Здесь я перечислю  8 самых плохих методов обеспечения безопасности с советами  , как их избежать. SQL-инъекция через имена столбцов и необработанные запросы. SQL-инъекция через правила проверки. Внедрение правил проверки. Использование GET для не-GET-маршрутов. Использование $request->all(). Забыть режим отладки в продакшене. XSS с использованием неэкранированного оператора данных. XSS с использованием атрибута href. SQL-инъекция через имена столбцов: Очень распространенная практика передачи управляемых пользователем столбцов в Query Builder, думая, что Laravel проверяет их с помощью привязки параметров PDO, но, как упоминается в  документации Laravel  : PDO не поддерживает привязку имен столбцов.  Поэтому вы никогда не должны ...