Я ищу 100% -ное надежное решение, не зависящее от ввода или окружающей среды или чего-то еще - я просто хочу, чтобы 100% -определяли скалярную переменную tainted :-)Как заставить переменную perl всегда быть испорченной?
ответ
Я не претендую на идеальные надежность. Всегда нужно создавать тесты, чтобы гарантировать, что код работает как ожидалось в каждой новой системе.
Однако, если открыть дескриптор файла для скалярной справки, результаты readline кажутся tainted:
#!/usr/bin/env perl -T
use strict;
use warnings;
use Scalar::Util qw(tainted);
my $var = 0.13;
print tainted($var) ? "Yes, tainted: $var\n" : "Nope, all clean: $var\n";
$var = taint_string($var);
print tainted($var) ? "Yes, tainted: $var\n" : "Nope, all clean: $var\n";
sub taint_string {
my $value = shift;
warn "Not going to work on references" if ref $value;
open my $fh, '<', \$value or die "Can't open: $!";
local $/; # Slurp
return <$fh>;
}
Выходы:
Nope, all clean: 0.13
Yes, tainted: 0.13
хорошее горе! умный и о-так далеко от левого поля. Благодаря! – cnd
Рад, что я мог помочь. Обратите внимание, что, хотя это, похоже, работает прямо сейчас, нет никакой гарантии, что он будет работать в будущих версиях Perl. Поэтому, если вы полагаетесь на него каким-либо образом, вы должны создать тестовый скрипт, чтобы обеспечить желаемое поведение, если ваши системные спецификации меняются. – Miller
- 1. Как заставить NSWindow быть всегда активным/сфокусированным?
- 2. Как заставить переменную PHP быть строкой?
- 3. Как заставить переменную perl действовать как хэш и объект?
- 4. Ansible - заставить переменную/факт быть неопределенным
- 5. Как заставить переменную обрабатывать как строку в perl?
- 6. Как заставить ех быть загружен всегда из памяти
- 7. Как заставить мою переменную JS global перестать быть неопределенной?
- 8. JSON encode. Заставить элемент всегда быть массивом PHP
- 9. Как заставить imageSmoothingEnabled быть ложным
- 10. Как заставить счетчик отображать переменную?
- 11. $ _GET переменная с испорченной кодировкой
- 12. Как заставить файл всегда переопределяться?
- 13. Можете ли вы заставить MSI быть всегда администратором?
- 14. Как заставить глобальную переменную «обновлять»?
- 15. Javascript Как заставить строку + переменную оценивать как переменную
- 16. Как переименовать переменную в perl
- 17. Как распечатать переменную в Perl?
- 18. Как заставить PyCharm всегда показывать номера строк
- 19. Как заставить сокет быть неблокирующим
- 20. Как заставить JModelica быть спокойным?
- 21. Как заставить команду быть числовой
- 22. Как заставить div быть отзывчивым?
- 23. Perl: Сбросить переменную $ 1
- 24. perl как заставить boolean к 0/1
- 25. Как заставить Doctrine DateTime использовать всегда UTC?
- 26. Как заставить HTML-ссылку быть абсолютной?
- 27. Perl: импортировать переменную оболочки
- 28. render_to_response всегда проходят переменную
- 29. Заставить дочерний класс инициализировать переменную
- 30. Как заставить класс объявить конечную переменную?
Http: //perldoc.perl. org/perlsec.html # Taint-mode – TLP