Безопасность ввода данных — это процесс при котором идет проверка (чистка, фильтрация) данных.
Помните, что любые данные могут быть небезопасными, поэтому важно их очищать.
Чистка данных
Самый простой способ — это использовать встроенные функции чистки в WordPress.
Например, такие функции как sanitize_*()
. Это помощники для чистки разных типов данных.
* — подразумевает, что есть множество вариантов такой функции
Ниже можно посмотреть некоторые из таких функции:
sanitize_email() sanitize_file_name() sanitize_html_class() sanitize_key() sanitize_meta() sanitize_mime_type() sanitize_option() sanitize_sql_orderby() sanitize_text_field() sanitize_title() sanitize_title_for_query() sanitize_title_with_dashes() sanitize_user() esc_url_raw() wp_filter_post_kses() wp_filter_nohtml_kses()
Пример
Давайте представим, что у нас есть поле title
.
<input id="title" type="text" name="title">
В такое случае, вы можете очистить поле используя sanitize_text_field():
$title = sanitize_text_field($_POST['title']); update_post_meta($post->ID, 'title', $title);
Когда вы вызываете sanitize_text_field(), она делает следующее:
- Проверка на неправильную кодировку, если она не соответствует UTF-8
- Конвертирует символы «<» или «>» в безопасные
- Очищает HTML тэги
- Чистить перенос строк, табы и лишние пробелы