Datos Manchados (Tainted data)

Obsérvese que el programa usa el modo taint:

 1  #!/usr/bin/perl -w -T
 2  use strict;
 3  use lib '.';
 4  use Chatbot::Eliza;
 5  use IO::Socket;
 6  use Daemon;
 7
 8  use constant PORT      => 1002;
 9  use constant PIDFILE   => '/var/run/eliza_hup.pid';
10  use constant USER      => 'nobody';
11  use constant GROUP     => 'nogroup';
12  use constant ELIZA_HOME => '/var/www/';

Esto permite el control de variables tainted: son variables tainted aquellas que proceden de fuentes externas al programa. Entre los datos tainted se encuentran:

Los datos tainted no pueden ser usados en ninguna función que afecte al mundo exterior so pena de que el programa termine con un mensaje de error. Tales funciones incluyen: Existe un único mecanismo para hacer que una variable pasa a untainted: utilizar un match contra una expresión regular con paréntesis y extraer el valor en una de las variables $1, $2, etc..

Casiano Rodríguez León
Licencia de Creative Commons
Programación Distribuida y Mejora del Rendimiento
por Casiano Rodríguez León is licensed under a Creative Commons Reconocimiento 3.0 Unported License.

Permissions beyond the scope of this license may be available at http://campusvirtual.ull.es/ocw/course/view.php?id=44.
2012-06-19