À quoi sert le drapeau -T
à Perl?-T option in perl
Répondre
Il active le "mode altération", une analyse de flux de données qui empêche les opérations potentiellement dangereuses utilisant des entrées non fiables.
Par exemple, il peut sembler raisonnable de stocker les détails d'un nouvel utilisateur avec
open my $fh, ">", "/var/myservice/$username"
or die "...";
print $fh ...;
Pour illustrer comment cela est utile, si un utilisateur malveillant donne un nom d'utilisateur de ../../../etc/passwd
et votre service fonctionne en tant que root?
Le mode Taint ne permettra pas l'exécution du code ci-dessus si la valeur $username
provient de la ligne de commande ou d'un paramètre de formulaire CGI.
La documentation perlsec
montre comment «déconnecter» les entrées non fiables pour s'assurer qu'elles sont sécurisées.
-T | Forces "taint" checks to be turned on so you can test them.
http://www.computerhope.com/unix/uperl.htm
Voir aussi Is Perl's taint mode useful? et CGI/Perl Taint Mode FAQ.
Merci, Google!
Si le mode altération est activé, vous devez supprimer les données d'une fonction, par exemple en appliquant une expression régulière pour supprimer les caractères dangereux.