Используя eval() в качестве "переключателя уничтожения" в PHP?

У меня есть несколько плагинов WordPress. Однажды один из моих плагинов сгенерировал ошибку PHP в панели администратора. Это помешало владельцам блогов обновить или удалить мой плагин. Я хочу поместить команды PHP в текстовый файл на моем веб-сайте и заставить плагин периодически проверять страницу на наличие новых команд. Затем используйте eval() для выполнения команд.

Каковы некоторые недостатки этого? Кроме плагина придется сделать дополнительный запрос.

2 ответа

Да. В общем eval = зло. В этом случае, если ваша страница будет взломана или скомпрометирована, теперь она может каскадно передаваться всем пользователям вашего плагина. Я настоятельно рекомендую против такого рода действий.

Итак, вы облажались плагин и hencyby механизм обновления. Использование удаленного URL include() не является хорошей защитой от этого. Я бы посоветовал вам разделить функциональность плагина и административную часть плагина.

Я понимаю, что WP может не помочь в этом разделении интересов, но это может быть более целесообразным подходом здесь. - Кстати, вы можете получить более конкретные рекомендации или решения на Wordpress.SE для этой темы.

Другие вопросы по тегам