В php есть функция под названием filter_var
. Так вот, там есть очищающие фильтры.
Вопрос следующий:
Фильтр FILTER_SANITIZE_MAGIC_QUOTES
, судя по его описанию просто применяет функцию addslashes()
к переменной. И все... Так вот, что лучше использовать? addslashes()
или filter_var
с фильтром FILTER_SANITIZE_MAGIC_QUOTES
. И что бы вы использовали?
Разумеется, ни в коем случае не применять ни то ни другое.
Ни малейшего смысла применять данный фильтр нет. При этом вред от него огромный.
Поэтому просто забываем про волшебные кавычки и addslashes() как про страшный сон, как это уже много лет как сделала цивилизованная часть РНР сообщества
В filter_var можно можно передавать фильтры вычисляемые в рантайме, по необходимости. Тогда как addslashes делает ровно то, что делает и ничего более.
Например такой вариант (с потолка):
class PrepareData {
function filter($data, array $filters){
foreach($filters as $filter){
$data = filter_var($data, $filter);
}
return $data;
}
}
В целом, filter_var стоит использовать там, где хочется получить единообразия в обработке схожих ситуаций. Допустим у вас switch на десяток case'ов на все случаи жизни и во всех filter_var, а в одном addslashes - не аккуратьненько. Если же вам на весь проект нужен только один этот фильтр, то родная функция addslashes будет более уместна и чуть-чуть более быстра.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Нашел в документации, что начиная с версии 53 нельзя использовать фасад Auth для получения аутентифицированного пользователя в конструкторе...