Главная страница


ru.cgi.perl

 
 - RU.CGI.PERL ------------------------------------------------------------------
 From : Andrey Sapozhnikov                   2:5020/400     12 Jul 2002  13:23:22
 To : Dmitry Koteroff
 Subject : Re: еще раз об экспорте   [Was: Открытое письмо...]
 -------------------------------------------------------------------------------- 
 
 Dmitry Koteroff wrote:
 
 > Здравствуйте, Andrey.
 > 11 июля 2002 года, четверг, 17:15. Вы написали:
 >>В случае же когда автор не объявляет переменные (и не пользует strict) -
 >>не работает Ваша защита данных при экспорте.
 >>
 > 
 > Вот тут я все же не совсем понял, какие же проблемы могут быть в защите. Да,
 > в старой версии можно было переписать поверх любую переменную, но это был
 > ГЛЮК. Вариант наткнуться случайно на "хакерскую" переменную практически
 > отпадает, протому что вызывает "use of unitialized variable" на этапе
 > отладки со 100%-й вероятностью.
 
 Объясняю. Вот пример кода, когда человек пользуется явным
 описанием переменных:
 
 use strict;
 our @cmd;
 use CGI::WebIn (1);
 
 foreach (qw(/dir/a /dir/b /dir/c)) {
      push @cmd, $_;
 }
 
 system 'ls', '-l', @cmd;
 
 Пример, разумеется бессмысленный, но в усложненном варианте
 достаточно распространен. Смысл в том, что человек полагает
 (вполне справедливо), что на момент запуска скрипта массив
 @cmd пуст. Как я уже говорил, при use strict все равно
 придется перечислять явно все переменные которые ожидает
 скрипт. Hо вот тот же самый код без первых двух строк:
 
 use CGI::WebIn (1);
 
 foreach (qw(/dir/a /dir/b /dir/c)) {
      push @cmd, $_;
 }
 
 system 'ls', '-l', @cmd;
 содержит дыру. Поскольку @cmd уже может быть экспортирован
 из WebIn и заполнен (к примеру, содержать враждебную команду
 в обратных апострофах).
 
 > Я имел в виду, что устанавливать 1 модуль проще, чем устанавливать 2.
 
 Если модуль лежит на CPAN, то устанавливать 1 или 25 - без разницы.
 Руками их устанавливают либо по незнанию, либо от природного нигилизма.
 Для этой цели в поставке Perl имеется модуль CPAN.pm который автоматом
 достанет свежую версию и предложит удовлетворить зависимости данного
 модуля. Т.е. набрав:
 
 $ perl -MCPAN -e shell
 
 CPAN> install HTML::Mason
 
 ...
 
 нам и думать не надо, от каких модулей зависит HTML::Mason, и даже - какая
 версия сейчас актуальна. В ActiveState аналогом этого модуля является ppm.
 
 > Кстати, вопрос: заслуживают ли все эти изменения перехода к номеру версии
 > 2.0, или же достаточно будет 1.10 (против 1.03)? Интерфейс не меняется,
 > поэтому я склоняюсь (верно ли?) ко второму варианту.
 
 ну вот это последнее из того над чем стоит ломать голову.
 
 Андрей
 
 --- ifmail v.2.15dev5
  * Origin: Demos online service (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 еще раз об экспорте [Was: Открытое письмо...]   Andrey Sapozhnikov   11 Jul 2002 21:15:11 
 Re: еще раз об экспорте [Was: Открытое письмо...]   Dmitry Koteroff   11 Jul 2002 23:00:53 
 Re: еще раз об экспорте [Was: Открытое письмо...]   Andrey Sapozhnikov   12 Jul 2002 13:23:22 
 Re: еще раз об экспорте [Was: Открытое письмо...]   Dmitry Koteroff   13 Jul 2002 19:24:22 
 Re: еще раз об экспорте [Was: Открытое письмо...]   Dmitry Koteroff   13 Jul 2002 19:22:20 
 Re: еще раз об экспорте [Was: Открытое письмо...]   Artem Chuprina   13 Jul 2002 22:45:42 
 Re: еще раз об экспорте [Was: Открытое письмо...]   Dmitry Koteroff   14 Jul 2002 00:23:05 
 Re: еще раз об экспорте [Was: Открытое письмо...]   Artem Chuprina   14 Jul 2002 10:32:21 
 Re: еще раз об экспорте [Was: Открытое письмо...]   Andrey Sapozhnikov   15 Jul 2002 18:23:05 
 Re: еще раз об экспорте [Was: Открытое письмо...]   Dmitry Koteroff   15 Jul 2002 18:57:51 
 Re: еще раз об экспорте [Was: Открытое письмо...]   Andrey Sapozhnikov   15 Jul 2002 19:24:36 
Архивное /ru.cgi.perl/5284059598f2.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional