esc_html()
уникає рядка, щоб він не був розбір на HTML. Наприклад, такі символи <
перетворюються на <
. Це буде виглядати так само, як і для читача, але це означає, що якщо значення, яке виводиться, <script>
то браузер не буде трактуватися як фактичний тег скрипту.
Використовуйте цю функцію, коли значення, що виводиться, не повинно містити HTML.
esc_attr()
уникає рядка, щоб його безпечно було використовувати в атрибуті HTML, наприклад, class=""
наприклад. Це запобігає вибиванню значення атрибута HTML. Наприклад, якщо значення є, "><script>alert();</script>
і ви намагалися вивести його в атрибут HTML, воно закриє поточний тег HTML і відкриє тег сценарію. Це небезпечно. Уникнувши значення, він не зможе закрити атрибут HTML і тег та вивести небезпечний HTML.
Використовуйте цю функцію, виводячи значення в атрибуті HTML.
esc_url()
уникає рядка, щоб переконатися, що це дійсна URL-адреса.
Використовуйте цю функцію, виводячи значення всередині атрибута href=""
або src=""
атрибута.
esc_textarea()
уникає значення, щоб безпечно його використовувати в <textarea>
елементі. Уникнувши значення за допомогою цієї функції, це запобігає виведенню значення в a <textarea<
з закриття <textarea>
елемента та виведення його власного HTML.
Використовуйте цю функцію, виводячи значення всередині <textarea>
елемента.
esc_html()
а esc_attr()
також версії , що закінчуються на __()
, _e()
і _x()
. Вони призначені для виведення рядків, що перекладаються.
WordPress має функції, __()
, _e()
і _x()
, для виведення тексту , який може бути переведений. __()
повертає рядку, що перекладається, _e()
повторює рядок, що перекладається, і _x()
повертає рядок, що перекладається, із заданим контекстом. Ви, напевно, бачили їх і раніше.
Оскільки ви не можете довіряти файлу перекладу, який містить безпечні значення, використання цих функцій при виведенні рядка, що перекладається, гарантує, що виведені рядки не можуть викликати ту саму проблему, як описано вище.
Використовуйте ці функції під час виведення рядків, що перекладаються.