2009-12-09 2 views
2

Есть ли способ отключить eval функция, не делая этого из файла php.ini. Я пробовал ini_set функция но даже если это не работает.Как отключить функцию eval без перехода в файл php.ini?

В основном я хочу, чтобы мои пользователи фреймворка решали, должна ли эта функция включаться или нет через конфигурационный файл. Если они говорят «нет», я должен отключить его с помощью кода, так как я не могу перейти на сервер каждого пользователя, где установлена ​​моя инфраструктура, и отключить ее с помощью файла php.ini.

Как я сказал, без goint в файл php.ini, поэтому директива ini disable_functions не должна размещаться в ответах.

Пожалуйста, помогите.

ответ

7

Это не сработает, потому что eval() не является функцией - это языковая конструкция. Вы можете отключить его с помощью suhosin, системы защиты для PHP. Это единственный способ узнать.

От PHP.net:

Note: Because this is a language construct and not a function, 
it cannot be called using variable functions 
1

если это mod_php (не CGI) с apache, .htaccess будет работать. кроме этого ... неудачи.

0

Я думаю, вы могли бы позвонить override_function с новой функцией, которая ничего не делает. (req APD)

+7

Это не функция, это языковая конструкция. –

Смежные вопросы