He visto esto otra vez y me parece que hay un error de concepto...slopal escribiste:Yo para llamar al sh hacía print"<img src="\/cgi-bin\/freq\/carrega_moduls_imatge.cgi" width="640" height="10">"; para que pintara la imagen directamente.
Haciendo un system("./carrega_moduls_imatge.cgi"); osystem("carrega_moduls_imatge.cgi"); (he probado las dos opciones por si hacia falta especificar que ejecute...) me sale el mismo error:
Insecure $ENV{PATH} while running with -T switch at /var/www-cgi/gralggen.lsi.upc.es/freq/freq.cgi line 249.
Si haces un print... desde un cgi, es para sacar un código html hacia una página web.
El cliente web a continuación solicitará una imagen ejecutando carrega_....cgi. Ese cgi debe generar una cabecera Content-Type del tipo image/png (creo que era así) y luego el contenido de la imagen.
Pero el caso del system() es distinto... ¿Quién está ejecutando el system()? ¿El cgi que ha llamado el cliente web? Pues en ese caso no funcionará de ninguna manera, pues el cgi debe devover al cliente web sólo un Content-Type. O una página HTML o un gráfico u otra cosa. Pero sólo uno.