Найти тему
Как исключить возможность SQL инъекций в PHP
Правильный способ избежать атак с использованием SQL-инъекций, независимо от того, какую базу данных вы используете, - это отделить данные от базы. Переданные значения никогда не должны интерпретироваться синтаксическим анализатором SQL как команды. Необходимо написать запрос так, что бы пришедшее значение шло как параметр запроса и экранировалось на уровне приложения, а не хранилища данных. В такой реализации злоумышленник не сможет внедрить вредоносный SQL. Базово существуют два варианта решения этой задачи: $stmt = $pdo->prepare('SELECT * FROM products WHERE code = :code'); $stmt->execute([ 'code' => $code ]); foreach ($stmt as $row) { // получаем значения из $row } 2...
1 год назад
Как исключить запуск дублирующихся скриптов
В работе регулярно встречаются задачи, которые необходимо выполнять с определенной периодичностью. Например, обновление раз в час цен в интернет-магазине. Для этого в cron кладется задание на выполнение скрипта по расписанию. Может так случиться (а случается это довольно часто), что скрипт не успевает выполниться за отведенное время. Через час запускается еще одна такая же задача. Два скрипта работают параллельно. Спустя еще час запускается третий скрипт. Нагрузка на сервер возрастает, потребление ресурсов растет как снежный ком...
1 год назад