PREGUNTAS CONTESTADAS - CGI

 Hay un total de 35 Preguntas.<<  >> 

    Pregunta:  21232 - PROTECCION DE CAMPOS DE FORMULARIO
Autor:  sylvia
estoy probando un cgi que me permite tener un grupo de \"Socios\".sucede que al entrar a su cuenta especifica queda grabada en el cache del navegador toda la direccion web del cgi ,con username y password ,de la forma:
http://www.miservidor.com/cgi-bin/socios?user=jperez&pass=589ped

¿como puedo evitar que en la direccion web , no aparezca los ultimos datos ,despues del signo de interrogación.?

He intentado con colocar esto,justo despues de la cabecera de la pagina html:

Expires: Mon, 26 Jul 1997 05:00:00 GMT
Last-Modified: DD. Month YYYY HH:MM:SS GMT
Cache-Control: no-cache, must-revalidate
Pragma: no-cache

..pero no ha funcionado.

esperando que alguien me pueda orientar
saludos
  Respuesta:  sergio abraham
usá el método POST
suerte
igual la protección consistiría en limitar la cantidad de bytes q recibís en cada submit. yo controlo eso con usando perl y el módulo CGI.pm

    Pregunta:  23139 - COMO HAGO QUE UN CGI EN C EJECUTE UN COMANDO
Autor:  Davis PZ
Hola!
Si trabajo un CGI escrito en C, compilado en linux.
1) Como puedo capturar la entrada estandar?
2) Como puedo ejecutar un comando y capturar su resultado para luego enviarlo como respuesta en un HTML??/
  Respuesta:  jaume dominguez
Hola!

No puedo imaginar cuál es tu cometido, pero sí sé como capturar la entrada estándar. De hecho es muy fácil. La entrada estándar en linux es exactamente igual que un fichero y la puedes tratar como tal. Cada vez que ejecutas cualquier programa tienes asociado a él 3 ficheros que están listos para usarse en cualquier momento. Son la entrada estandar, la salida estandar y el error estandar, por este orden.

Cuando te creas un descriptor de fichero (con: fd = open("nombrefich", OPCIONES); ) en realidad el descriptor de fichero es simplemente un int que indica el índice de fichero al que te estás dirigiendo. Al fd se le asigna el índice más pequeño disponible (que en un programa normal sería el 3 puesto que 0 se usa para la entrada estándar, 1 para la salida estándar y 2 para el error estándar).

Si lo que quieres es leer de la entrada estándar deberás de usar:
read(0, &variable, n_bytes);
Para capturar en la variable el número de bytes que quieres leer. Lo normal es que escribas
read(0, &variable, sizeof(variable));

RECUERDA EL & antes de la variable o no funcionará

Nota que puedes usar esta técnica para redirigir la salida de un programa a la entrada del otro, esto es muy interesante sobretodo si tienes pequeños programas que resuelven un programa específico y sacan el resultado por pantalla y quieres que el resultado de ellos sea la entrada de otros.

Vinga! Salut i república!

ya me cuentas como te ha ido.

Adeu!
  Respuesta:  Antonio Pérez Garcia
Creo que lo que quieres es que al CGI se le puedan enviar parámetros y eso se puede lograr utilizando la variable del enviroment QUERY_STRING y dentro del programa la obtienes con getenv( "QUERY_STRING" ).
Puedes ejecutar un comando con la función system( "<Comando>" ) y redireccionar la salida para un fichero temporal luego abres dicho fichero y ya tienes lo que vas a poner en el HTML.
Si no te satisface la respuesta házmelo saber a mi email.

    Pregunta:  23414 - CóDIGO PERL PARA GESTIóN PROGRES
Autor:  Fernando Jabonero
Quisiera saber si alguien dispone de código que pueda servirme de referencia para un script de Perl que me permita interactuar con la base de datos Progress. Se trata de una simple implementación para inserciones y búsquedas.
  Respuesta:  Toni
Una solución es bajarte el modulo DBD:Progress para interactuar con la Base de Datos Progress.
"DBD::Progress is a database driver for Progress RDBMS implemented in the Perl DBI (DBI - The Perl Database Interface by Tim Bunce)."

En la dirección "http://dbi.symbolstone.org/" encontrarás más información.

Aunque también pordría irte bien el modulo DBD::ODBC, donde la conexión será vía ODBC.

Seguro que este modulo y más, lo encuentras en el CPAN (http://www.perl.com/CPAN/)

Un saludo.

    Pregunta:  23673 - EJECUTAR PERL CON WINDOWS 98
Autor:  Francisco Luque Martinez
Tengo instalados w.98 y Active Perl. No consigo ver el resultado de los scripts que copio, cuando ejecuto los programas (que he grabado con la extensión .pl) se abre y cierra a la velocidad del rayo MSDOS sin poder ver nada. He probado a escribir la primera línea del código de 100.000 maneras distintas (#!/perl/bin/..... ; perl (nombre de archivo).pl; ) y no consigo ningún resultado. He incluído líneas de retardo en los códigos y tampoco...... Siempre me pasa igual.

¿Como demonios se ejecuta Perl en windows 98?
  Respuesta:  Stroggo Stróguez
Proceda usted con lo siguiente:

Inicio/Programas/MS-DOS
Una vez estás dentro de la ventana del MS-DOS, pones:
C:\Windows\cd..
C:\perl tuscript.pl

... y ya está. La primera línea que dices que pones: #!/perl/bin/... no hace falta ponerla cuando ejecutas los scripts bajo windows (o bajo MS-DOS) porque sólo sirve para indicarle al sistema operativo dónde se encuentra el intérprete de perl y eso el windows ya lo sabe , si lo has instalado bien. Yo uso también w.98 y el intérprete de de Perl de activestate y me va bastante bien. Ahora quiero buscar un compilador.
Suerte. Bye.

    Pregunta:  24932 - ¿CÓMO TRATAR LOS ARCHIVOS ADJUNTOS DE EMAIL EN PERL?
Autor:  Stroggo Stróguez
Hola. Mi duda es la sigueinte:

He aprendido a hacer muchas cosas en Perl, a base de tutoriales y manuales que me he bajado por internet, porque es un lenguaje que me encanta. Ya sé cómo mandar un e-mail a través del sendmail de unix, pero no soy capaz de averiguar cómo se mandan los archivos adjuntos. He mirado en un montón de sitios, pero sólo viene cómo mandar correos muy básicos sin archivos adjuntos.
Si alguien pudiera ayudarme...
Muchas gracias.
  Respuesta:  Gonzalo Quiroz
Hola, yo no se exactamente como mandar adjuntos, pero se que hay bibliotecas de funciones ya hechas como por ejemplo la subrutina
"cgi-lib.pl", a la cual tu llamas con un "require" desde tu cgi.
Obiamente esta subrutina debes tenerla en el servidor.
Como esta hay muchas, si quieres estudiar el tema, te puedo mandar unos links donde hay scrips ya hechos sobre correo con attachment y documentos pdf que explican como usar estas subrutinas, además tu puedes bajar estas subrutinas y subirlas a tu servidor.
La subrutina que necesitas se llama "mail-lib.pl", te recomiendo que la subas al subdirectorio cgi-bin de tu servidor para que la llames al principio de tu cgi de esta forma:
#!/usr/local/bin/perl #o donde esté ubicado perl
require "mail-lib.pl";
Espero que te sirva, chao y buena suerte.

los links son: http://cgidir.com/Scripts/Mailing_Lists/
http://www.extropia.com/books/instant_web_scripts/
El ultimo link habla sobre las subrutinas que te mensioné, incluso puedes bajarlas.

    Pregunta:  29129 - ENVIO DE ARCHIVOS
Autor:  Sergio munoz
Hola amigos, la verdad es que soy nevo en esto , y me gustaria saber como lo hago para que en un formulario se pueda adjunta un archivo para enviarlo a un mail, de ante mano gracias
  Respuesta:  jaume dominguez
es una cuestión muy fácil de resolver buscando scripts ya hechos en la red y muy complicada de explicar si quieres hacértelo tu. Te aconsejo que busques (porque lo encontrarás a la de ya) y lo uses tal cual. Y si quieres puedes intentar descifrarlo para entender su funcionamiento.

si quieres te puedo pasar uno hecho en Perl

    Pregunta:  29552 - ENVIO DE ARCHIVOS
Autor:  Sergio Munoz
Hola, Al grano: necesito que desde mi pagina web me envien archivos a mi correo, si alguien sabe como , o en que parte me pueden ayudar, por favor indiqueme, para ver como se hace esta "leserita", gracias
  Respuesta:  ji ayudo
www.aspemail.com

    Pregunta:  30511 - COOKIE DE SECION EN PERL
Autor:  Gabriel Perez
Como se envia una cookie de secion con un cgi hecho en perl?

Se que se hace con un modulo, pero no se que modulo, lo busque pero no se....

Gracias.
  Respuesta:  Gabriel Pérez
La cookie de seccion funciona cuando pones en el tiempo de cookie en "-1" y nada mas que eso, no hacen falta modulos ni nada, solo modificar el tiempo a -1 y listo.

    Pregunta:  31206 - COMO EJECUTAR UN CGI PERL EN WIN
Autor:  JORGE ANIBAL ESCOBAR
TENGO UN CGI EN PERL ´Y INSTALE EL APACHE Y EL PERL PERO EN WINDOWS CUANDO LO EJECUTO NO FUNCIONA EN SOLARIS SI, ME DIGIERON QUE PARA COMPILAR UN CGI DE PERL EN WINDOWS DEBO DE COMPILARLO CON UN COMPILADOR DE C PARA QUE FUNCION ES VERDAD Y COMO LO HAGO GRACIAS POR SU AYUDA
  Respuesta:  Ignacio Trabado Castillo
Es mentira. No necesitas compilarlo en absoluto para que funcione.

Pueden haber diferentes problemas.

1º que la versión de Perl no sea para windows. En cuyo caso podrias mirarte el ActiveState Perl.

2º Si es para windows, entonces, cabe la posibilidad de que no hayas actualizado el registro:
HKEY_LOCAL_MACHINE\system\CurrentControlSet\Services\W3SVC\Parameters\Script Map

con las claves y valores siguientes:

.pl -> "d:\perl\bin\perl.exe %s %s"
.cgi -> d:\perl\bin\perl.exe %s %s"

3º Puede ser que esto ya lo tengas bien hecho (Lo sabras si al abrir el archivo .cgi o .pl se ejecuta), pero que el directorio en donde tienes el script, no permita la ejecución desde la web. Eso lo deberías modificar en el archivo de configuración "httpd.conf" que tiene el apache.

4º Otra causa podría ser que el archivo llame a algún módulo de perl que no tengas instalado. En ese caso te daría el aviso de que no encuentra el módulo en cuestión.

Te recomiendo que lo mires todo en ese orden, y que compruebes cada paso ejecutando el script en local, para que realmente veas cual es el problema de funcionamiento.

Suerte.

    Pregunta:  32380 - PERL EN SERVIDOR APACHE SOBRE WINDOWS XP
Autor:  José Julio P L
Hola amigos: He instalado el servidor Apache en mi ordenador. Tengo el sistema operativo Windows XP. Cuando escribo un script en Perl y quiero verlo en el navegador, en éste me aparece el texto plano, no interpreta las etiquetas HTML. Agrego al principio #!c:\perl\bin\perl , print "Content-type: text/html\n\n" , pongo el script en la carpeta cgi-bin, y no funciona. ¿Podríais ayudarme? Gracias.
  Respuesta:  Eduard Garcia
Debes modificar los ficheros de configuración del apache para indicarle donde se encuentra el interprete de Perl, esto lo encontrarás en la documentación de apache.
Una vez configurado, tus scripts deben utilizar el path de Apache y no el path real.
Saludos.

|<  <<  1 2 3 4  >>  >|