Intereting Posts
Как отобразить все изображения «Загружено» автором web.config разбивает темы для подкаталога multisite Разработка тем: Как добавить классы CSS в пункты меню? Можно ли удалить фильтр из текстового виджета 4.8? Эффект лайтбокса не работает Регистрация только в виде виджета – это особый тип пользовательских сообщений Определение другой темы для страницы сообщений в блогах Получить собственный URL-адрес архива post_type Как отображать только последнюю запись на моей домашней странице, сохраняя при этом правильные плагины? jQuery ('# news-ticker'). цикл не является функцией Как заставить администратора WordPress использовать PhpMyAdmin Создание другой боковой панели для отдельных сообщений, чем для главной страницы. Создать собственный размер эскиза на существующие сообщения Регистрация боковых панелей и виджеты боковой панели. Виджеты боковой панели не отображаются Как использовать классы, объявленные в другом плагине?

Защитить мой перевод "add_settings_field"?

Я использую «add_settings_field» и хочу предоставить перевод для него, но моя проблема – безопасность.
Так __('My Checbox:' , 'domain') достаточно безопасен для перевода?

Если нет, что я могу с этим поделать?

Я попытался использовать esc_html_e( 'My Checbox:' , 'domain' )
и esc_html_( 'My Checbox:' , 'domain' ) но он разбивает мою страницу …

 add_settings_field( 'add_checkbox', __('My Checbox:' , 'domain'),<!--Is this secure when translating?--> 'my_checkbox_function', 'theme_options', 'theme_options' ); 

Solutions Collecting From Web of "Защитить мой перевод "add_settings_field"?"

Нет. esc_html__( 'string', 'text_domain' ) используйте esc_html__( 'string', 'text_domain' ) ( два esc_html__( 'string', 'text_domain' ) подчеркивания).

Переведенные строки – это неизвестный ввод. Неизвестный ввод по умолчанию вредоносный.

  • Вы не знаете, откуда берется языковой файл. Он даже не должен быть тем, который вы предоставили, потому что путь можно фильтровать или изменять с помощью символической ссылки.
  • Даже если это ваш файл: у вас есть контроль над всем процессом от создания до доставки? Вы не можете контролировать репортаж wordpress.org, например, то же самое верно для GitHub и других репозиториев в руках других людей.
  • Вы действительно посмотрели на строку; вы получаете «забавные персонажи»? Что выглядит смешно в вашем редакторе / браузере, может быть опасным выходом в зависимости от кодировки . Вы управляете кодировкой страницы? Возможно нет.
  • Вы можете обойти эту проблему, используя контрольную сумму, хэш исходного файла, который вы сравниваете, прежде чем загружать перевод. Но опять же, этот хэш должен быть где-то сохранен, и это место может быть доступно для записи.

Всегда делайте ваш выход максимально безопасным. Если вы не хотите, чтобы HTML в строке, не разрешайте его. Если вы получаете ошибки, анализируете сообщения об ошибках и исправляете эти ошибки, не теряйте безопасность.