Почему следует избегать exec () и eval ()? - PullRequest
26 голосов
/ 19 декабря 2009

Я видел это несколько раз в разных местах, но никогда не находил удовлетворительного объяснения, почему так должно быть.

Так что, надеюсь, один будет представлен здесь. Почему бы нам (по крайней мере, вообще) не использовать exec() и eval()?

РЕДАКТИРОВАТЬ: я вижу, что люди предполагают, что этот вопрос относится к веб-серверам - это не так. Я понимаю, почему передача неанизированной строки в exec может быть плохой. Это плохо в не-веб-приложениях?

Ответы [ 11 ]

2 голосов
/ 19 декабря 2009

Причина № 1: Один недостаток безопасности (т.е. ошибки программирования ... и мы не можем утверждать, что их можно избежать), и вы только что предоставили пользователю доступ к оболочке сервера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...