Intereting Posts
Как заставить пользовательский тип сообщения использовать конкретный шаблон? Как сделать мой третий многопользовательский блог с id 1000? get_terms: определить, имеет ли таксономический термин детей Постоянная ссылка на страницу, которая уже удалена Как правильно добавить другое приложение в WordPress? Как включить AMP для настраиваемого единого шаблона с настраиваемой базой данных add_rewrite_rule () не играет хорошо с дочерними страницами Удалить верхний и нижний колонтитулы в iframe Создайте «статические» текстовые поля, контролируемые из раздела admin, как? Проводка в элемент списка с помощью OptionTree Форма входа не сохраняет значения при неправильном входе в систему Не понимаю, почему тематика настолько странная и скрученная Как загружать и показывать комментарии с помощью AJAX вместо разбивки на страницы? Как установить размер изображения «по умолчанию»? Объедините 2 аргумента в одном WP_Query и закажите его по дате

Данные формы передачи для отправки

В моем дезинфицирующем сценарии, перед использованием метода запроса POST для отправки этих данных, у меня есть следующее для поля ввода textarea с именем «contact_msg»:

if($_POST['contact_msg'] != ''){ $contact_message = sanitize_textarea_field($_POST['contact_msg']); if(strlen($contact_message < 15)){ $errors .= 'Please enter more information in your message.'; $hasError = true; } elseif {strlen($contact_message > 2000)) { $errors .= 'Please shorten your message.'; $hasError = true; } } 

Я немного сработал, потому что я не думаю, что пара ключ / значение для $_POST['contact_msg'] будет дезинфицирована – только переменная $contact_message которая по умолчанию не является тем, что передается в submit, таким образом требуя, чтобы я сделал что-то еще, прежде чем передать пару ключ / значение для этого входа на submit? Другими словами, как вы на самом деле дезинфицируете $_POST['contact_msg'] ? Вы просто добавляете что-то вроде:

 if($_POST['contact_msg'] != ''){ $contact_message = sanitize_textarea_field($_POST['contact_msg']); if(strlen($contact_message < 15)){ $errors .= 'Please enter more information in your message.'; $hasError = true; } elseif (strlen($contact_message > 2000)) { $errors .= 'Please shorten your message.'; $hasError = true; } else { $_POST['contact_msg'] = sanitize_textarea_field($_POST['contact_msg']; } } 

чтобы фактически дезинформировать публикуемые данные?

Сначала проверьте, что он не пуст, а затем введите значение строки в качестве меры предосторожности, так как всегда возможно, чтобы это было представлено как массив; например, злоумышленником. Затем расстегните, дезинфицируйте и продолжайте, проверяя длину и все остальное, что вы хотите проверить.

 if ( ! empty( $_POST['contact_msg'] ) ){ $contact_message = (string) $_POST['contact_msg']; $contact_message = wp_unslash( $contact_message ); $contact_message = sanitize_textarea_field( $contact_message ); } 

Совет. Также обязательно проверяйте запрос с помощью Nonce .


Вот более краткий вариант вышеизложенного.

 if ( ! empty( $_POST['contact_msg'] ) ){ $contact_message = sanitize_textarea_field( wp_unslash( (string) $_POST['contact_msg'] ) ); }