Intereting Posts
Загрузка мультимедиа не работает после скрытия некоторых элементов из functions.php Отправка электронной почты изнутри плагина с помощью PHP PEAR неожиданный '$ mm' (T_VARIABLE) в wp-includes / functions.php Установка плагинов на сайте, размещенном на IIS Как исправить параметр экрана панели инструментов WordPress и кнопку помощи, она не работает Пользовательские поля пользователя + существующая таксономия – интеграция двух динамически? Я изменил свой сайт с HTTPS на HTTP и теперь он сломан. Не удается получить доступ к панели администратора по URL-адресу HTTP Термин Описание Echo или Return – проблемы с отображением Распечатать сообщение Я создал дополнительное поле для всех доступных виджетов. Как показать его значение в интерфейсе? Почему плохо использовать GUID? JS Plugin не выполняет js правильно. Попытка заставить все внутренние ссылки плавно прокручиваться Как кэшировать сообщения на основе $ _GET? Имя опции слишком длинное? Варианты / переходные процессы Можно ли добавить дополнительный уровень управления версиями в номера версий версий wordpress для детей? Wordspress добавляет <p> в мои javascripts

<? php echo $ title?> vs <? php echo esc_html ($ title); ?> Безопасность WordPress

Читая эту замечательную статью « Проверка данных и санитария в WordPress», я заметил, что в моем блоге в header.php я использовал <?php echo $title ?> В паре кодов.

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

Как было предложено автором, я изменил исходный <?php echo $title ?> <?php echo esc_html( $title ); ?> <?php echo esc_html( $title ); ?> .

Это код перед изменением:

 <span class="ads"> <?php if ( is_user_logged_in() ) { echo '<span><a href="/?page_id=175" title="inserisci un annuncio gratis">Pubblica il tuo annuncio gratis: &egrave; facile e veloce!</a></span>'; } else { echo '<span><a class="simplemodal-login simplemodal-submit" href=""><?php echo $title ?>Pubblica il tuo annuncio gratis: &egrave; facile e veloce!</a> </span>'; } ?> </span> 

Это код после изменений:

 <span class="ads"> <?php if ( is_user_logged_in() ) { echo '<span><a href="/?page_id=175" title="inserisci un annuncio gratis">Pubblica il tuo annuncio gratis: &egrave; facile e veloce!</a></span>'; } else { echo '<span><a class="simplemodal-login simplemodal-submit" href=""><?php echo esc_html( $title ); ?>Pubblica il tuo annuncio gratis: &egrave; facile e veloce!</a> </span>'; } ?> </span> 

Теперь мой вопрос (я думаю, это новичок!): Изменение, которое я сделал, хорошо для безопасности моего блога?


Solutions Collecting From Web of "<? php echo $ title?> vs <? php echo esc_html ($ title); ?> Безопасность WordPress"

В случае с статьями $title является произвольным значением, поэтому он должен быть экранирован через html, но если он был получен из основной функции WordPress, это, вероятно, безопасно, но вы должны все равно проверить

Например, get_the_title() может содержать разметку html и по умолчанию не экранируется.

В обоих случаях заголовки сообщений и страниц не должны содержать html. Стилирование – это темы, а не контент.

Вы должны проверить все данные при записи, и именно здесь вы должны сосредоточить свои усилия. То, что вы делаете, повышает вашу безопасность, но зависит от того, насколько сильно зависит то, откуда поступают данные.

Я рекомендую вам избегать всех данных ввода и вывода, но делать это по привычке, а не для особых исключительных случаев

Заголовок сообщения может содержать разметку, и по умолчанию WordPress не будет экранирован. Чтобы получить скрытый заголовок, используйте:

  • the_title_rss() ( print get_the_title_rss() ) или
  • the_title_attribute()