Подскажите функции для защиты) вот сам запрос) Все параметры в метод передаются из строки запроса.
$catSlug = Slug категории
$page = страница пагинации
public static function catProductList($catSlug, $page = 1)
{
if ($catSlug) {
$page = intval($page);
$offset = ($page - 1) * self::SHOW_BY_DEFAULT;
$db = Db::getConnection();
$catProd = array();
$result = $db->query("SELECT * FROM product WHERE status='1' AND category_sl='$catSlug' ORDER BY id DESC LIMIT ".self::SHOW_BY_DEFAULT." OFFSET ".$offset);
$i = 0;
while($row = $result->fetch()){
$catProd[$i]['id'] = $row['id'];
$catProd[$i]['name'] = $row['name'];
$catProd[$i]['price'] = $row['price'];
$catProd[$i]['image'] = $row['image'];
$catProd[$i]['is_new'] = $row['is_new'];
$catProd[$i]['slug'] = $row['slug'];
$i++;
}
return $catProd;
}
}
А где сама фильтрация запроса? Защита от SQL идёт специальным списком функции. Так для MySQL в PHP есть mysqli_real_escape_string($db, query)
для PDO есть подновлённые запросы, и так далее.
В принципе, если строго следить за типами данных, которые приходят в таблицу, можно обойтись без специальных функций экранирования данных. Но, в случае невнимательности, могут возникнуть проблемы. И так как вы и так используете PDO, то работайте с подготовленными выражениями. Что может на первый взгляд показаться и сложным, и легко допустить ошибку, но есть решение, это передача данных в подготовленные выражения массивом, они с ним отлично работают.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
ЗдравствуйтеПеревожу сайты на PHP и там в шаблонизаторах используется такая конструкция
Что то голову сломалНужно вырезать все числа в диапазонах от 45
Здравствуйте, нужно проверить строку $str1 = 'abc123'; и $str2 = 'abc123ABCАбв-+';