Перехват использования PHP эксплуатируемых функций - PullRequest
2 голосов
/ 14 августа 2011

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

Как пример:

Я создаю файл PHP с моим кодом перехватчика и использую «require» для вызова его на целевой странице PHP с помощью eval () (или любой другой функции PHP, которая может быть использована). Как это возможно сделать?

Ответы [ 2 ]

2 голосов
/ 14 августа 2011

Прежде всего, все функции в PHP могут использоваться для эксплуатации системы.

Чтобы изменить поведение PHP таким образом, вам нужно изменить сам интерпретатор PHP - в частности, вам понадобится перехват или runkit PECL (или переписать переводчик самостоятельно).Либо это, либо запустите программу перевода, чтобы переназначить ссылки (ваш список «эксплуатируемых» функций) на функции-оболочки (и затем указать эти оболочки в файле включения).

0 голосов
/ 14 августа 2011

Для меня это звучит так, как будто вы хотите написать расширение PHP, которое может перехватывать некоторые встроенные функции. Я понятия не имею о хорошем учебнике, поэтому вы хотите использовать свою любимую поисковую систему самостоятельно. Еще один совет: xdebug уже делает что-то подобное для var_dump(), print_r() и т. Д. Поэтому, возможно, вы можете проверить источник и поиграть с ним. Удачи.

...