Codex

Interested in functions, hooks, classes, or methods? Check out the new WordPress Code Reference!

Валидация данных

Эта страница помечена как незавершённая. Вы можете помочь проекту, дополнив её.

Ненадежные данные поступают из многих источников (пользователи, сторонние сайты, ваша собственная база данных!, ...) и все они нуждаются в проверке как на ввод, так и на вывод.

Output Sanitation

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

Совет: Рекомендуется делать валидацию как можно позже, идеально - непосредственно перед выводом, вместо того, чтобы сделать это в самом начале. Таким образом, вы будете уверены, что данные валидны, и не будет необходимости помнить, делалась уже валидация, или нет.

Целые числа

intval( $int ) или (int) $int
Это должно быть целым числом, приводим переменную к такому типу.
absint( $int )
Целое, не отрицательное число.

HTML/XML

Note that many types of XML documents (as opposed to HTML documents) understand only a few named character references: apos, amp, gt, lt, quot. When outputting text to such an XML document, be sure to filter any text containing illegal named entities through WordPress's ent2ncr( $text ) function.

HTML/XML Fragments

wp_kses( (string) $fragment, (array) $allowed_html, (array) $protocols = null )
KSES Strips Evil Scripts. All untrusted HTML (post text, comment text, etc.) should be run through wp_kses().
To avoid having to pass an array of allowed HTML tags, you can use wp_kses_post( (string) $fragment ) for tags that are allowed in posts/pages or wp_kses_data( (string) $fragment ) for the small list of tags allowed in comments.
wp_rel_nofollow( (string) $html )
Adds a "rel='nofollow'" attribute to any <a> link.
wp_kses_allowed_html( (string) $context )
Provides an array of allowed HTML tags for a given context. Allowed values are post