Действительно ли оценка ColdFusion() опасна?

После прочтения https://stackoverflow.com/review/first-posts/3429940 (действительно ли опасен PHP eval()? )

И http://dhorrigan.com/post/30395987906/is-eval-really-evil-yes-and-no

Мне интересно, есть ли аналогичные проблемы у эквивалента ColdFusion.


person James A Mohler    schedule 24.11.2013    source источник
comment
Почти нет причин когда-либо использовать оценку. Ограничьте свои переменные.   -  person Matt Busche    schedule 25.11.2013
comment
Я предлагаю попробовать это с каким-нибудь доброкачественным кодом.   -  person Dan Bracuk    schedule 25.11.2013


Ответы (1)


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

evaluate() будет менее подвержен этому, потому что он не может выполнять какой-либо объем кода, он может просто вычислять отдельные выражения (пусть и более одного, выполняемые отдельно и независимо друг от друга).

Дело в том, что это тоже затрагивается в статьях по PHP, просто редко, если вообще когда-либо требуется. Если вы обнаружите, что используете его... вы, вероятно, делаете что-то не так.

Для дальнейшего чтения я обсуждаю это в своем блоге: "evalulate() очень медленный". Сейчас?

person Adam Cameron    schedule 24.11.2013
comment
Ссылка имеет лучшее объяснение evaluate(), которое я когда-либо видел. - person James A Mohler; 25.11.2013
comment
(Редактировать) не может выполнить какой-либо объем кода Я не думаю, что это полностью верно. В зависимости от того, как используется evaluate, хорошо составленный пост может привести к выполнению некоторого объема кода или, по крайней мере, к утечке информации о приложении. (Игнорируя тот факт, что в любом случае это редко требуется ...) это само по себе является причиной избегать этого, ИМО. - person Leigh; 25.11.2013
comment
... и да, я понимаю ... он может просто оценивать отдельные выражения, снижает некоторые риски, но недостаточно, чтобы отклонить его IMO. Не подразумевается, что вы отклоняете это... но я редко вижу обсуждения этого аспекта оценки. (Обычно просто много споров о старом аргументе производительности). - person Leigh; 25.11.2013