Содержание

Избавление от нежелательных обратных слешей при вводе формы WordPress
Безопасность WordPress — ключ к успеху вашего плагина WordPress. Все должны очень внимательно относиться к вопросам безопасности.
В дополнение к тому, что в вашей теме WordPress или плагинах есть отличные функции , все темы и плагины WordPress должны иметь лучшие стандарты безопасности.
Некоторое время назад я написал статью о том, как обезопасить свой плагин WordPress, предотвращая уязвимость CSRF . Cross-site request forgery , также известный как атака одним нажатием или езда на сеансе и сокращенно CSRF or XSRF , является разновидностью злонамеренного использования веб-сайта, когда неавторизованные команды передаются от пользователя, которому веб-сайт доверяет. Взгляните на этот учебник для более подробной информации.
В этом уроке мы рассмотрим очень распространенный шаблон безопасности и способы его исправления. Если у вас есть какие-либо из нижеперечисленных вопросов, то вы попали по адресу:
- Полоски в текстовой области в опции плагина WordPress
- Как убрать косые черты в WordPress (или PHP)
- безопасность — использует
stripslashes()в WordPress небезопасно? - Как обезопасить плагин WordPress?
- Как укрепить плагин WordPress?
Сначала позвольте мне кратко объяснить простой сценарий
Большинство плагинов WordPress имеют текстовое поле. Когда пользователь вводит текстовое значение и нажимает на кнопку отправить, обычно он сохраняется в WP_OPTIONS таблица с ключом и значением.
Разработчик плагинов может использовать это значение во время выполнения и извлекать его для удовлетворения требований к плагину. Пока нет ничего плохого. В большинстве случаев это работает.
But consider this: Что делать, если пользователь вводит некоторые malicious scripting code в текстовое поле? Хорошо, если будет пропущена проверка значения, тогда скрипт может быть выполнен на каждой странице WordPress этого блога. Который нам абсолютно не нужен и создает уязвимость безопасности для вашего сайта.
Посмотрите на этот скриншот:

А что если пользователь введет это значение?
|
1
|
/ / > alert ( / О нет ! Am я сохраняя это Значение сценария в WordPress DB? ? /) s cript >
|
Ну, если вы видите всплывающее предупреждение, то это not good , Злоумышленник может выставить ваш browser cookies тоже. Попробуй ниже.
|
1
|
/ / > alert ( document . cookie ) script>
|
Здесь скрипт загружается на странице настроек плагина:

Так же Alert Script загружается на Live WordPress page :

Теперь у тебя есть идея. Правильно?
Ну, есть simple way to disable это инъекция скриптов. Техника, которая отключает это называется Validating Sanitizing and Escaping User Data ,
В дополнение к вышесказанному хакер может использовать document.cookie получить ваши сессии и советы, приведенные ниже, поможет защитить WordPress веб-сайт от хакеров.
Как решить эту уязвимость WordPress Plugin?
Шаг 1
While saving данные в текстовое поле или текстовое поле, обязательно используйте esc_attr() функция. Убегающие средства Securing Output ,
esc_attr() может использоваться для всего остального, что напечатано в атрибуте элемента HTML .
|
1
|
< input type = text name = crunchify-hello-world-text значение = php эхо stripslashes_deep ( esc_attr ( get_option ( 'crunchify-hello-world-text' ) ) ) ; ?> / >
|
Шаг 2
While outputting значение во время выполнения использовать так же, как вывод.
|
1
2
3
4
5
6
|
add_filter ( 'the_content' , 'crunchify_com_content' ) ;
функция crunchify_com_content ( $ content )
{
вернуть $ content , stripslashes_deep ( esc_attr ( get_option ( 'crunchify-hello-world-text' ) ) ) ;
}
|
Как вы видите в приведенном выше примере, мы также используем stripslashes_deep() функция, которая будет перемещаться по массиву или отдельному значению и removes slashes из этого.
И это все. Теперь ваш плагин супер защищен и даже если злоумышленник использует script injection это будет безопасно во время выполнения и не будет выполнено на месте.
0.00 (0%) 0 votes







