Вы здесь
Главная > Мой блог > WEB-разработка > WordPress > Выполнение php-кода на страницах wordpress

Выполнение php-кода на страницах wordpress

Выполнение php-кода на страницах wordpress.При создании сайта на движке wordpress иногда встречается такая ситуация, когда нужно выполнить php-код прямо на странице (в посте, виджете или текстовом блоке). Но при попытке выполнения любого php-кода он интерпретируется как обычный текст. Если попытаться выполнить следующий код:

1
<?php echo "Это php-код"; ?>

То в посте он так и выведется <?php echo «Это php-код»; ?>.

Для чего может понадобиться выполнять php-код в постах (статьях)? Да для чего угодно, можно дописывать стандартные функции wordpress в виде какого-нибудь необычного вывода меню или тех же постов, или вставить какие-нибудь дополнительные скрипты (в моем случае это был калькулятор на php).

«Разрешить» выполнение php-скриптов в постах wordpress можно с помощью плагина Exec-PHP.

Я рекомендую работать с этим плагином, т.к. множество других плагинов, позволяющих выполнять php-код, имеют очень серьезные уязвимости и их использование может повлечь за собой потерю вашего блога. Пример плагинов с уязвимостями:

  • WordPress WP-Syntax Plugin 
    «Уязвимость существует из-за недостаточной обработки входных данных в параметре «test_filter[]» в сценарии wp-syntax/test/index.php, перед вызовом функции call_user_func_array(). Удаленный пользователь может с помощью специально сформированного запроса выполнить произвольный PHP код на целевой системе с привилегиями Web сервера. Для удачной эксплуатации уязвимости опция «register_globals» должна быть включена в конфигурационном файле PHP.» Подробнее можно почитать на securitylab.ru/vulnerability/384180.php
  • WordPress wpStoreCart Plugin
    «Уязвимость существует из-за того, что сценарий wp-content/plugins/wpstorecart/php/upload.php позволяет осуществлять загрузку файлов с произвольными расширениями в каталог внутри сайта. Удаленный пользователь может выполнить произвольный PHP код.»
    Подробнее можно почитать на securitylab.ru/vulnerability/425794.php
  • WordPress RBX Gallery Plugin
    «Уязвимость позволяет удаленному пользователю скомпрометировать целевую систему. Уязвимость существует из-за отсутствия в сценарии wp-content/plugins/rbxgallery/uploader.php ограничения на загрузку файлов в корневую директорию web-сервера. Удаленный пользователь может загрузить PHP и выполнить произвольный PHP сценарий.»
    Подробнее можно почитать на securitylab.ru/vulnerability/425853.php

Обзор плагина Exec-PHP.
Плагин «Exec-PHP» очень прост в использовании и установке. Его можно найти на сайте wordpress (wordpress.org) или прямо через внутренний поиск плагинов («Плагины»->»Добавить новый»). После установки в меню панели администратора появится новый пункт «Параметры»->»Exex-PHP» всего с одной настройкой — включением/выключением плагина.

Для проверки работоспособности Exec-PHP вставьте в какой-нибудь пост вот такой код:

1
<?php echo 'Проверка работоспособности Exec-PHP'; ?>

Если при просмотре этой страницы вы увидите текст ‘Проверка работоспособности Exec-PHP’, то плагин работает и вы можете выполнять нужные вам php-скрипты.

Примечание: PHP-код нужно добавлять на вкладке «HTML» при редактировании (или создании) статьи, если же добавить php-код на вкладке «Визуально», то он будет восприниматься как обычный текст.

Добавить комментарий

Top