WordPress
Безопасность в WordPress - санитария
Поиск…
Синтаксис
- sanitize_text_field (строка $ str)
- sanitize_title (строка $ title, строка $ fallback_title, строка $ context)
- sanitize_email (строка $ email)
- sanitize_html_class (строка $ class, строка $ fallback)
- sanitize_file_name (строка $ name)
- sanitize_user (строка $ username, boolean $ strict)
замечания
Безопасность должна всегда иметь в виду при разработке. Без безопасности приложение открыто для различных атак, таких как SQL Injections, XSS, CSRF, RFI и т. Д., Что может привести к серьезным проблемам.
Неверные данные поступают из многих источников (пользователей, сторонних сайтов, вашей собственной базы данных !, ...), и все это необходимо проверять как на входе, так и на выходе. (Sourse: WordPress Codex)
Данные должны быть проверены, дезинфицированы или экранированы в зависимости от использования и цели.
Для проверки необходимо убедиться, что данные, которые вы запросили у пользователя, соответствуют тому, что они отправили. (Sourse: WordPress Codex)
Санитаризация является более либеральной из подхода к принятию пользовательских данных. Мы можем вернуться к использованию этих методов, когда есть диапазон допустимых входных данных. (Sourse: Wordpress Codex)
Чтобы убежать, нужно взять данные, которые у вас могут уже есть, и помочь защитить их до их предоставления конечному пользователю. (Sourse: WordPress Codex)
Очистить текстовое поле
$title = sanitize_text_field( $_POST['title'] );
Санитировать название
Возвращаемое значение предназначено для использования в URL-адресе, а не в качестве читаемого человеком заголовка. Вместо этого используйте sanitize_text_field.
$new_url = sanitize_title($title);
Sanitize email
$sanitized_email = sanitize_email(' [email protected]! ');
Очистить класс html
$post_class = sanitize_html_class( $post->post_title );
echo '<div class="' . $post_class . '">';
Sanitize имя файла
$incfile = sanitize_file_name($_REQUEST["file"]);
include($incfile . ".php");
Без дезинфекции имени файла злоумышленник может просто передать http: // attacker_site / malicous_page в качестве ввода и выполнить любой код на вашем сервере.
Санизировать имя пользователя
$user = sanitize_user("attacker username<script>console.log(document.cookie)</script>");
$ user value после sanitize - это «имя пользователя злоумышленника»