>Я по-моему на русском языке излагаю: контекст для евала в данном случае - сам пхп-скрипт, если не понятно. параметр евала вставляется в этот контекст.Просто излагать что-то на русском языке не достаточно.
Сначала вы говорили про "контекст строки", теперь про "контекст эвала".
Ну, у эвала есть контекст, и что?
В каком "данном" случае контекстом эвала будет "сам пхп-скрипт"?
Или по-вашему у эвала другого контекста быть не может?
И вообще, при к чему вы заговорили о контексте?
> По ссылке,что я дал, все понятно разъяснено.
Мне не нужны ваши ссылки, я и без них знаю, как нормальный эвал в нормальных языках работает.
Может в PHP он сделан как-то по-другому, но это не мои проблемы, и это уже проблемы безопасности PHP, а не сферического эвала в вакууме.
> Ну так в том же яваскрипте точно примерно так же в теории, суть в том, что можно выполнить произвольный левый код.
Что значит "можно выполнить произвольный код"? Какой код вы туда засунете, такой и выполнит.
Ну так не засовывайте туда что попало.
> Если функции на момент выполнения не было, логично что её нужно создать. Вы знаете способ выполнить её локально, не помещая в память?
Что значит "выполнить её локально, не помещая в память"?
Я говорил про момент трансляции, а вы почему-то про момент выполнения. Не знаете между ними разницы?
> Ни при чём, в том то и отличие. Если вам не взбредёт в голову в качестве параметра загружать какую-нибудь длл (тот же плагин для браузера, к примеру), проблем с безопасным выполнением кода не будет - в отличие от евал.
То есть вы считаете, что загружать целую dll гораздо безопаснее, чем выполнять код в eval.
> Важно, что косвенно через систему в другой процесс.
> Это из википедии, и из того, что помню про java-RMI. А вы знаете предмет иначе?
Что значит "косвенно через систему в другой процесс"?
Нет таких слов в Википедии, специально даже посмотрел. Откуда вы их берете?
И при чем здесь java-RMI?
> Именно для обработки внешних данных имеет смысл использовать евал. Если данные внутренние, зачем от них делать евал, когда своим готовым кодом можно обработать.
Почему вы считаете, что для обработки внешних данных имеет смысл использовать именно eval?
А если есть готовый код, тогда, действительно, зачем нужен использовать eval.
Вы просто не знаете, для чего eval на самом деле предназначен.
> Кстати даже на случай загрузки левого кода существуют механизмы подписывания
То есть eval и механизмы подписывания вы ставите на один уровень.