Як краще перевіряти отримані дані?
Достатньо preg_replace(), чи краще робити додатково: htmlspecialchars(), stripslashes(), strip_tags()?
Перевірка введених даних
Модераторы: dobs, ArniXXX, hostess, bj
Re: Перевірка введених даних
Подходите к вопросу комплексно.
Как говорил известный персонаж - "Лучше пережать, чем недожать"
Как говорил известный персонаж - "Лучше пережать, чем недожать"
В жизни не все так просто, а гораздо проще
-
- HO Moderators
- Сообщения: 2504
- Зарегистрирован: Вс апр 09, 2006 14:42
- Откуда: /home/Ukraine/Kyiv
- Контактная информация:
Re: Перевірка введених даних
Смотря что валидировать
http://php.net/manual/en/function.filter-var.php - можно много чего проверить этим к примеру
Если знаем что должно быть точно число то проще конвертировать к числу (int).... + желательно указывать что за данные подаются тогда не будут ностисы валить если передать к примеру вместо строки массив...
http://php.net/manual/en/function.filter-var.php - можно много чего проверить этим к примеру
Если знаем что должно быть точно число то проще конвертировать к числу (int).... + желательно указывать что за данные подаются тогда не будут ностисы валить если передать к примеру вместо строки массив...
Re: Перевірка введених даних
Схоже, що я вибрав самий оптимальний для себе варіант .
Типова перевірка.1. Я не параноїк?
2. Чи можна тут щось вдосконалити?
Типова перевірка.
Код: Выделить всё
function check($var)
{
$var = stripslashes($var);
$var = htmlspecialchars($var);
$var = strip_tags($var);
return $var;
}
$a = substr($_POST['a'],0,30);// Ну не може бути, припустимо, імʼя, довжиною в 100 символів.
$a = check($a);
$a = preg_replace('/[^abcd]/','',$a);
$a = trim($a);
2. Чи можна тут щось вдосконалити?
-
- HO Moderators
- Сообщения: 2504
- Зарегистрирован: Вс апр 09, 2006 14:42
- Откуда: /home/Ukraine/Kyiv
- Контактная информация:
Re: Перевірка введених даних
function check($var)
Это не чек а клир скорее всего + я бы сделал так
substr($_POST['a'],0,30);// Ну не може бути, припустимо, імʼя, довжиною в 100 символів.
Это не проверка, а обрезание mb_strlen в помощь...
+ посмотрите в сторону http://php.net/manual/en/function.filter-var.php
И нет не параноик
Это не чек а клир скорее всего + я бы сделал так
Код: Выделить всё
function clear($val, $make_html = 0) {
$val = trim($val);
$val = strip_tags($val);
if (!$make_html)
$val = htmlspecialchars($val);
if (get_magic_quotes_gpc())
$val = stripslashes($val);
return $val;
}
substr($_POST['a'],0,30);// Ну не може бути, припустимо, імʼя, довжиною в 100 символів.
Это не проверка, а обрезание mb_strlen в помощь...
+ посмотрите в сторону http://php.net/manual/en/function.filter-var.php
И нет не параноик
Re: Перевірка введених даних
Не правильно назвав тему, через що заплутав народ . Треба було "Очищення та перевірка..."
Тому що спочатку все чищу, а вже потім роблю перевірки.
function.filter-var.php дивився. Але в якості універсального застосування я його для себе поки що не побачив.
Або при виборі "a|b|c" довжина не може бути >1.
Тому що спочатку все чищу, а вже потім роблю перевірки.
function.filter-var.php дивився. Але в якості універсального застосування я його для себе поки що не побачив.
Згоден, назва не коректна. function clear($var) - так було би логічнішеЭто не чек а клир
Так, це обрізка. Як я вже писав, "// Ну не може бути, припустимо, ім'я, довжиною в 100 символів."Это не проверка, а обрезание
Або при виборі "a|b|c" довжина не може бути >1.