Используя eval() в качестве "переключателя уничтожения" в PHP?
У меня есть несколько плагинов WordPress. Однажды один из моих плагинов сгенерировал ошибку PHP в панели администратора. Это помешало владельцам блогов обновить или удалить мой плагин. Я хочу поместить команды PHP в текстовый файл на моем веб-сайте и заставить плагин периодически проверять страницу на наличие новых команд. Затем используйте eval() для выполнения команд.
Каковы некоторые недостатки этого? Кроме плагина придется сделать дополнительный запрос.
2 ответа
Да. В общем eval = зло. В этом случае, если ваша страница будет взломана или скомпрометирована, теперь она может каскадно передаваться всем пользователям вашего плагина. Я настоятельно рекомендую против такого рода действий.
Итак, вы облажались плагин и hencyby механизм обновления. Использование удаленного URL include() не является хорошей защитой от этого. Я бы посоветовал вам разделить функциональность плагина и административную часть плагина.
Я понимаю, что WP может не помочь в этом разделении интересов, но это может быть более целесообразным подходом здесь. - Кстати, вы можете получить более конкретные рекомендации или решения на Wordpress.SE для этой темы.