On 2008.10.01 at 15:22:46 +0300, Aleksey Cheusov wrote: > > AC>> Связь между размером исходного кода и > AC>> безопастностью прямая. Если уж выбирать что-то более мощное по > AC>> сравнению с shell-ом, я бы выбрал LUA или Java Script. > AC>> Но никак не TCL и тем более не python. > > > Если речь идет о безопасности, то начинать надо с выкидывания sh. > Вызов внешней утилы не является дырой в безопастности. > По крайней мере речь _сейчас_ не об этом, контект не тот.
Дырой в безопасности является строковая подстановка с неявным репарсингом после неё. Чуть автор скрипта на кавычках поэкономил, и привет - arbitrary command execution. Был у меня случай лет десять назад, когда растаскивание скрипта по двум машинам, общавшимся по ssh привело к тому, что посредством ввода специального значения в поле на веб-страничке я получил у себя на десктопе xterm c бэкэнд-сервера с правами юзера wais. ssh один уровень кавычек скушал и привет. Вот у Tcl НЕЯВНОГО репарсинга нет. Только явным subst или eval. Поэтому проблем со строковыми подстановками много меньше, чем в shell > > А Java Script безопасен только в песочнице. Но в песочнице он > > бесполезен. > Расшифруй. > > Я бы вот с удовольствием заменил awk java script-ом, если бы к нему > добавить awk-шную data-driven логику и нормальные (POSIX compatible) Какие проблемы? Придумай объектную модель, реализующую эту логику и вперед. > регулярные выражения. Э, а разве там они ненормальные? Они там по-моему как бы не pcre. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]