Включает «режим сглаживания», анализ потока данных, который предотвращает потенциально небезопасные операции с использованием ненадежных входных данных.
Например, может показаться целесообразным сохранить данные нового пользователя с помощью
open my $fh, ">", "/var/myservice/$username"
or die "...";
print $fh ...;
Чтобы проиллюстрировать, как это полезно, что, если злонамеренный пользователь задает имя пользователя ../../../etc/passwd
и ваша служба запускается от имени root?
Режим Taint не позволяет запускать приведенный выше код, если значение $username
было получено из командной строки или в качестве параметра формы CGI.
Документация perlsec
показывает, как "освободить" ненадежные входы, чтобы убедиться, что они безопасны.