-T опция в Perl - PullRequest
       31

-T опция в Perl

3 голосов
/ 21 ноября 2010

Для чего используется флаг -T в Perl?

Ответы [ 3 ]

10 голосов
/ 21 ноября 2010

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

Например, может показаться целесообразным сохранить данные нового пользователя с помощью

open my $fh, ">", "/var/myservice/$username"
  or die "...";
print $fh ...;

Чтобы проиллюстрировать, как это полезно, что, если злонамеренный пользователь задает имя пользователя ../../../etc/passwd и ваша служба запускается от имени root?

Режим Taint не позволяет запускать приведенный выше код, если значение $username было получено из командной строки или в качестве параметра формы CGI.

Документация perlsec показывает, как "освободить" ненадежные входы, чтобы убедиться, что они безопасны.

1 голос
/ 21 ноября 2010
0 голосов
/ 22 ноября 2010

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

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