PHP: Чистка переменной

Чтобы очистить переменную в PHP, можно использовать функцию htmlspecialchars для преобразования специальных символов в их HTML-сущности. Это предотвратит вставку вредоносного кода в веб-страницы. Также можно использовать функцию strip_tags для удаления всех HTML и PHP тегов из строки, чтобы избежать XSS-атак. Кроме того, можно использовать функцию trim для удаления пробельных символов с начала и конца строки, а функцию filter_var для проверки переменной на соответствие определенному формату, например, email адресу или URL

Например, если у вас есть переменная $input, которая содержит пользовательский ввод, вы можете очистить ее с помощью функции htmlspecialchars и trim следующим образом:

 

# Это удалит пробельные символы с начала и конца строки, 
# заменит специальные символы на HTML-сущности 
# и вернет безопасную для использования переменную $input

$input = htmlspecialchars( trim( $_POST['input'] ) );

Если вам нужно удалить все HTML и PHP теги из строки, вы можете использовать функцию strip_tags:

 

# Это удалит все теги из строки, оставив только текст

$input = strip_tags( $_POST['input'] );

Если вы хотите проверить переменную на соответствие определенному формату, вы можете использовать функцию filter_var:

 

# Проверка email адреса на валидность:

$email = 'example.com';
if( !filter_var( $email, FILTER_VALIDATE_EMAIL ) )
{
    echo "Email адрес $email неверный";
}


# Удаление всех тегов HTML из строки:

$html = '<p>Это текст <b>с HTML тегами</b></p>';
$clean_html = filter_var( $html, FILTER_SANITIZE_STRING );
echo $clean_html; 
// > "Это текст с HTML тегами"


# Проверка переменной на соответствие URL-адресу:

$url = 'example.com';
if( !filter_var( $url, FILTER_VALIDATE_URL ) )
{
    echo "URL $url неверный";
}


# Удаление всех небезопасных символов из переменной:

$unsafe = '<script>alert("опасность!");</script>';
$safe = filter_var( $unsafe, FILTER_SANITIZE_STRING );
echo $safe; 
// > "alert(опасность!);"


# Проверка переменной на соответствие целому числу:

$number = '123abc';
if( !filter_var( $number, FILTER_VALIDATE_INT ) )
{
    echo "Переменная $number не является целым числом";
}


# Проверка переменной на соответствие диапазону значений:

$age = 15;
$options = array(
    'options' => array(
        'min_range' => 18,
        'max_range' => 65
    )
);
if( !filter_var( $age, FILTER_VALIDATE_INT, $options ) )
{
    echo "Возраст $age не подходит";
}

Для очистки переменной с использованием регулярных выражений в PHP можно использовать функцию preg_replace, которая позволяет заменить совпадения с заданным шаблоном регулярного выражения на указанную строку.

Например, чтобы очистить переменную $input от всех символов, кроме букв, цифр и пробелов, можно использовать следующий код:

 

# В этом примере регулярное выражение /[^a-zA-Z0-9\s]/ находит все символы, кроме букв, цифр и пробелов, 
# а функция preg_replace заменяет их на пустую строку.

# Таким образом, если переменная $input содержит строку "Hello, 123!@#", 
# после применения этого кода, она будет содержать только "Hello 123".

$input = preg_replace('/[^a-zA-Z0-9\s]/', '', $input);

PHP up: просмотров: 1.8k

Комментарии

Ваш комментарий будет первым.
Войдите, чтобы оставить комментарий.