PHP — Валидация данных

PHP — Валидация данных

Допустим, что мы подключились к базе:

$connlogin="user"; $connpass="pass"; $connserver="IPADDR:3306"; $connbase="base"; $conn = mysqli_connect($connserver,$connlogin,$connpass ,$connbase ); if (!$conn) { die("Ошибка соединения: " . mysqli_error()); }

Теперь мы хотим взаимодействовать с переменной, которую получили из POST. Если использовать напрямую — есть вероятность вставки спец символов или кавычек, что критично для безопасности SQL. Используем mysqli_real_escape_string — она экранирует специальные символы в строке для использования в SQL-выражении.

$var1 = mysqli_real_escape_string($conn, $_POST['var1']);

Теперь валидация типов переменных. В ID записи БД используются цифры. Вероятность встретить текст — минимальна. Проверим, что наша переменная состоит только из целого числа.

is_int($_POST['id']);

Проверка bool:

is_bool($a) === true

Является ли переменная числом с плавающей точкой:

is_float($a)

Является ли переменная строкой:

is_string($text)

Является ли переменная массивом:

is_array($array)

Проверяет, содержит ли только текст и цифры.
ctype_alnum($testcase)
Состоит только из букв:
ctype_alpha($testcase)

Состоит только из int:
ctype_digit($_POST['id'])

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *