wp_nonce_field
wp_nonce_field()
— это функция в WordPress, которая применяется для создания и вывода полей nonce
(набор символов для проверки) в формах. Nonce — это уникальная строка, которая добавляется к формам и запросам в целях повышения безопасности.
Nonce предназначены для защиты от атак CSRF (межсайтовой подделки запроса) и предотвращения несанкционированных запросов на сервер. Они гарантируют, что действия, отправляемые с формы, происходят только от аутентифицированного пользователя на сайте.
В первом примере мы создаем поле nonce
с помощью wp_nonce_field()
. Функция принимает два аргумента:
'my_action'
(первый аргумент): Это уникальное имя действия (action), связанное сnonce
. Оно может быть произвольным, но должно быть уникальным для каждой формы или действия на вашем сайте.'my_nonce_field'
(второй аргумент): Это имя поля, в которое будет вставленnonce
. Оно также может быть произвольным, но обычно оно используется для обозначения поля.
При отправке формы nonce
будет включен в запрос, и вы можете проверить его на сервере, чтобы убедиться, что запрос был отправлен с действительной формы и от действительного пользователя.
Проверка nonce
на сервере выглядит примерно так:
Такая проверка при обработке данных поможет предотвратить атаки по типу CSRF и повысить безопасность ваших форм и действий в WordPress.
CSRF (Cross-Site Request Forgery), или атака межсайтовой подделки запроса, является видом атаки на веб-приложение, при которой злоумышленник пытается выполнить действие от имени авторизованного пользователя без его согласия. Атаки CSRF могут быть опасными, если атакующий может заставить жертву выполнить некоторое действие без ее ведома, например, изменить пароль, отправить сообщение или даже совершить финансовую транзакцию.
Функции WordPress
- sanitize_text_field
- sanitize_textarea_field
- wp_nonce_url
- sanitize_url
- wp_validate_redirect
- wp_privacy_anonymize_data
- kses_init_filters
- kses_remove_filters
- wpmu_activate_signup
- is_ssl
- wp_unslash
- wp_safe_redirect
- wp_generate_password
- wp_destroy_current_session
- wp_parse_auth_cookie
- wp_get_session_token
- wp_create_nonce
- wp_verify_nonce
- is_user_logged_in
- wp_kses_post
- wp_kses_data
- wp_filter_post_kses
- wp_salt
- wp_hash_password
- wp_hash
- wp_sanitize_redirect
- wp_http_validate_url
- wp_referer_field
- wp_nonce_ays
- sanitize_sql_orderby
- wp_strip_all_tags
- wp_specialchars_decode
- urlencode_deep
- tag_escape
- esc_url_raw
- esc_textarea
- esc_js
- esc_html_e
- esc_html
- esc_sql
- esc_attr
- esc_html__
- esc_url