Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 
Índice general » Mundo Perl » Web » Ejecutar scripts de Perl desde una página web Responder al tema
Nuevo tema


Página 1 de 2  [ 29 mensajes ]  Ir a página 1, 2  Siguiente
 
Nota 2006-10-11 12:29 @562
Avatar de Usuario
Perlero Nuevo
Registrado: 2006-08-10 10:43 @488
Ubicación: Buenos Aires / Argentina
Mensajes: 48
Ejecutar scripts de Perl desde una página web
Estimados :D ,

Necesito ejecutar dos scripts que tengo hechos en Perl desde una página web. La idea es ejecutarlo desde una simple página web en donde se tenga que loguear un usuario previamente. Y que al hacer un click sobre el botón 1 se ejecute el determinado script_1 y lo mismo con el 2.
¿¿¿ Alguien ya lo ha realizado ??? ¿Tienen algún modelo de como realizarlo?. Sólo me interesa el desarrollo web ya que los scripts ya los tengo.

¡ Saludos y gracias ! :wink:
TELCO


Nota 2006-10-11 13:47 @616
Avatar de Usuario
Vive para Perl en Español
Registrado: 2003-11-18 16:13 @717
Ubicación: Buenos Aires
Mensajes: 455
No entiendo la duda, es para loggearse ? entonces poné un formulario donde el action sea la URL del script...

Si es un link hacelo así
<a href="http://www.miweb.com/cgi-bin/script.pl">click</a>

Simepre dentro de cgi-bin...Eso lo sabes no ?

Saludos

_________________
MonoSwim


Nota 2006-10-11 14:26 @643
Avatar de Usuario
Perlero Nuevo
Registrado: 2006-08-10 10:43 @488
Ubicación: Buenos Aires / Argentina
Mensajes: 48
Estimado monoswim :lol: ,

¡¡¡ Agradezco mucho tu respuesta !!!
Ya tengo la página con los botones de las opciones. Necesito saber cómo vincular los botones de las opciones con los script. Que cuando se pulse sobre el botón de la OPCION1 se ejecute el script 1 y lo mismo con el 2.

Y por otra parte necesito cómo hacer para ponerle seguridad de login con user y pass a la paginita.

Mi simple código es el siguiente :
Syntax: [ Download ] [ Hide ]
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
  2. <HTML> 
  3. <HEAD> 
  4. <TITLE> PAGINA DE EJECUCION DE SCRIPTS </TITLE> 
  5. </HEAD> 
  6.  
  7. <BODY> 
  8. <input type=submit name="boton1" value="OPCION1"> 
  9.  
  10. <form method=post action="cgi-bin/SCRIPT1.pl"> 
  11.  
  12. <input type=submit name="boton2" value="OPCION2"> 
  13.  
  14. <form method=post action="cgi-bin/SCRIPT2.pl"> 
  15.  
  16. </BODY> 
  17. </HTML> 


¡ Saludos y gracias ! :wink:
TELCO


Nota 2006-10-11 16:11 @716
Avatar de Usuario
Creador de Perl en Español
Registrado: 2003-10-15 16:52 @744
Ubicación: México
Mensajes: 1163
Hola:

Pues más o menos ahí ibas con el html que estás usando. Nada más le hacemos unos cambios y listo:

Syntax: [ Download ] [ Hide ]
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">  
  2. <HTML>  
  3. <HEAD>  
  4. <TITLE> PAGINA DE EJECUCION DE SCRIPTS </TITLE>  
  5. </HEAD>  
  6.  
  7. <BODY>  
  8.  
  9. <form method=post action="cgi-bin/SCRIPT1.pl">  
  10. <input type=submit name="boton1" value="OPCION1">  
  11. </form> 
  12.  
  13. <form method=post action="cgi-bin/SCRIPT2.pl"> 
  14. <input type=submit name="boton2" value="OPCION2">  
  15. </form> 
  16.  
  17. </BODY>  
  18. </HTML> 


Son dos formularios distintos cada uno con su respectivo botón de submit.


Saludos

_________________
Uriel Lizama Perl programmer fundador de Perl en Español


Nota 2006-10-11 17:55 @788
Avatar de Usuario
Perlero Nuevo
Registrado: 2006-08-10 10:43 @488
Ubicación: Buenos Aires / Argentina
Mensajes: 48
Estimado kidd , :lol:

He copiado los scripts en el directorio del Server Linux Debian

"/usr/share/apache2/default-site/cgi-bin/" y están todos los scripts puestos con permisos de ejecución (chmod 755).
Cuando oprimo los botones desde la página web me salta error 404 ... ¿¿ qué puede ser lo que está pasando ??

Veo desde la página que los intenta ejecutar.

Probé poniendole en mi página ponerle:

SALIDA DESDE EL BROWSER:
Syntax: [ Download ] [ Hide ]
  1. <form method=post action="cgi-bin/perl CAMBIO_BT.pl"> 
  2. <input type=submit name="OPCION1" value="MIGRAR"> 
  3.  
  4. http://172.20.10.3/cgi-bin/perl%20CAMBIO_BT.pl 


ó

Syntax: [ Download ] [ Hide ]
  1. <form method=post action="cgi-bin/CAMBIO_BT.pl"> 
  2. <input type=submit name="OPCION1" value="MIGRAR"> 


SALIDA DESDE EL BROWSER :
Syntax: [ Download ] [ Hide ]
  1. http://172.20.10.3/cgi-bin/CAMBIO_BT.pl 



Y no ejecuta el script y me dá error 404 como resultado.

¿¿¿ Que estoy haciendo mal ???

¡ Saludos y gracias ! :wink:
TELCO


Nota 2006-10-11 18:14 @801
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10250
¿Seguro que ese es el directorio? En mi Debian es en /usr/lib/cgi-bin

Repasa la configuración del Apache...

Y lo del perl%20.... no tiene sentido...

Repasa los logs del apache. Encontrarás más pistas.


Nota 2006-10-12 07:52 @369
Avatar de Usuario
Perlero Nuevo
Registrado: 2006-08-10 10:43 @488
Ubicación: Buenos Aires / Argentina
Mensajes: 48
Estimado Explorer :D ,

Moví mis scripts al directorio que me indicaste ( /usr/lib/cgi-bin/ ) y efectivamente ahora los está procesando :lol: .

Pero me arroja el siguiente error desde el browser:

Código:
500 Internal Server Error

http://172.20.10.3/cgi-bin/CAMBIO.pl

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, webmaster@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.
--------------------------------------------------------------------------------
Apache/2.0.54 (Debian GNU/Linux) mod_python/3.1.3 Python/2.3.5 PHP/4.3.10-16 mod_perl/1


Errores dentro del LOG del Apache2 " Error.log "
Código:
[Thu Oct 12 06:25:07 2006] [notice] Apache/2.0.54 (Debian GNU/Linux) mod_python/3.1.3 Python/2.3.5 PHP/4.3.10-16 mod_perl/1.999.21 Perl/v5.8.4 configured -- resuming normal operations
[Thu Oct 12 09:36:02 2006] [error] [client 172.20.10.4] malformed header from script. Bad header=##############################: CAMBIO.pl, referer: http://172.20.10.3/
[Thu Oct 12 09:36:41 2006] [error] [client 172.20.10.4] malformed header from script. Bad header=##############################: VOLVER.pl, referer: http://172.20.10.3/
[Thu Oct 12 09:38:40 2006] [error] [client 172.20.10.4] malformed header from script. Bad header=##############################: CAMBIO_BT.pl, referer: http://172.20.10.3/
SERVER1:/var/log/apache2#


Ejecutando los scripts en forma manual no me arrojan ningún error.

¿ Qué está pasando ?

¡¡ Saludos y muchas gracias !! :wink:
TELCO


Nota 2006-10-12 08:04 @378
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10250
Ya lo dice el error: la primera línea no es '#!/usr/bin/perl'

El tema del 'shebang' (los dos primeros caracteres de un script) es crucial para el sistema operativo, y saber de qué tipo de ejecutable se trata. Sin ellos, se negará a ejecutarlo.

Ejecutando los scripts de forma 'manual', en realidad estás haciendo:
Código:
perl CAMBIO.pl
con lo que ya le estás diciendo al sistema operativo que ha de ser perl (el intérprete de Perl) el que debe hacerse cargo de ese fichero llamado CAMBIO.pl.

Si, en cambio, pones como primera línea el 'shebang' y el path al intérprete de perl, el propio sistema operativo sabrá cómo ejecutarlo. Podrás ejecutarlo 'a mano' desde la línea de comandos con un simple
Código:
./CAMBIO.pl
o
Código:
CAMBIO.pl
que, además, será así como lo intente ejecutar también el servidor web.


Nota 2006-10-12 08:18 @388
Avatar de Usuario
Perlero Nuevo
Registrado: 2006-08-10 10:43 @488
Ubicación: Buenos Aires / Argentina
Mensajes: 48
¡¡¡ Ya lo solucioné Explorer !!! :lol:
¡¡ Con la siguiente línea al comienzo del script !!
¡¡ Muchisimas gracias por tu predisposición y ayuda que siempre es la mejor !!

Syntax: [ Download ] [ Hide ]
Using perl Syntax Highlighting
print "Content-type: text/html\n\n";


Y es verdad ... siempre hay que consultar los logs .. jejej

Un abrazo. :wink:
Telco


Nota 2006-10-12 08:25 @392
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10250
Bueno, pues al final no era lo que yo decía... :-(


Nota 2006-10-12 09:14 @426
Avatar de Usuario
Perlero Nuevo
Registrado: 2006-08-10 10:43 @488
Ubicación: Buenos Aires / Argentina
Mensajes: 48
Estimado Explorer , :lol:

Tengo este simple código de una página de Login... ¿Cómo podría hacer para que valide contra un archivo el user y el pass y le dé ingreso a mis users ???
También necesito que luego del ingreso válido se vincule con mi otra página para ejecutar los scripts.

¿Cómo se te ocurre que podría realizarlo de la forma más fácil posible?

Syntax: [ Download ] [ Hide ]
  1. <html> 
  2. <head> 
  3. <title>LOGIN</title> 
  4. <STYLE TYPE="text/css"> 
  5. <!--  
  6. BODY, TABLE, TR, TD {font-family: "Verdana, Arial, Helvetica, sans-serif"; font-size: 12px; color: #336699} 
  7. A {text-decoration: none; color: #336699} 
  8. A:hover {text-decoration: underline; color: #336699;} 
  9. --> 
  10. </style> 
  11. </head> 
  12. <body bgcolor="#FFFFFF"> 
  13. <form method="post" action="/index.php"> 
  14. <table align="center" border=0> 
  15. <tr> 
  16. <td colspan="2"> 
  17. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  18. <p align="right"><b></b></p> 
  19. </td> 
  20. </tr> 
  21. <tr> 
  22. <td colspan="2"> 
  23. <center><h2>LOGIN</h2></center> 
  24. </td> 
  25. </tr> 
  26. <tr height="10"></tr> 
  27. <tr> 
  28. <td><div align=right>Usuario:</div></td> 
  29. <td> 
  30. <input type="text" name="username" size="20"></td> 
  31. </tr> 
  32. <tr> 
  33. <td><div align=right>Password:</div></td> 
  34. <td><input type="password" name="password" size="20"></td> 
  35. </tr> 
  36. <tr height="10"></tr> 
  37. <tr> 
  38. <td colspan="2"> 
  39. <center><input type="submit" value="Login"></center> 
  40. </td> 
  41. </tr> 
  42. </table> 
  43. <input type="hidden" name="action" value="login"> 
  44. </form> 
  45. <center> 
  46. </center> 
  47. </body> 
  48. </html> 



¡¡ Saludos y muchas gracias !! :wink:
TELCO


Nota 2006-10-12 09:38 @443
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10250
En este foro hay una solución, en el área de tutoriales:
http://perlenespanol.baboonsoftware.com ... asena.html

No es exáctamente lo mismo, pero sí que tiene alguna de las bases necesarias para lo que necesitas.


Nota 2006-10-12 12:26 @559
Avatar de Usuario
Perlero Nuevo
Registrado: 2006-08-10 10:43 @488
Ubicación: Buenos Aires / Argentina
Mensajes: 48
Estimados , :lol:

Creé el archivo de Passwords en el directorio /etc/apache2/ con el siguiente comando :

htpasswd -c passwords admin

Configuré el archivo " .htaccess " que lo tengo en /var/wwww/ con las siguientes lineas :

Código:
/var/www# more .htaccess
AuthUserFile /etc/apache2/passwords
AuthGroupFile /dev/null
AuthName "mensaje de Bienvenida"
AuthType Basic
<Limit GET>
require valid-user
</Limit>



Creo que obviamente hay que ponerle algunas líneas de código en la página web para que chequee contra el archivo " .htaccess " ... ¿¿ como hago eso desde la siguiente página ??
Syntax: [ Download ] [ Hide ]
  1. <html> 
  2. <head> 
  3. <title>LOGIN</title> 
  4. <STYLE TYPE="text/css"> 
  5. <!--  
  6. BODY, TABLE, TR, TD {font-family: "Verdana, Arial, Helvetica, sans-serif"; font-size: 12px; color: #336699} 
  7. A {text-decoration: none; color: #336699} 
  8. A:hover {text-decoration: underline; color: #336699;} 
  9. --> 
  10. </style> 
  11. </head> 
  12. <body bgcolor="#FFFFFF"> 
  13. <form method="post" action="/index.php"> 
  14. <table align="center" border=0> 
  15. <tr> 
  16. <td colspan="2"> 
  17. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  18. <p align="right"><b></b></p> 
  19. </td> 
  20. </tr> 
  21. <tr> 
  22. <td colspan="2"> 
  23. <center><h2>LOGIN</h2></center> 
  24. </td> 
  25. </tr> 
  26. <tr height="10"></tr> 
  27. <tr> 
  28. <td><div align=right>Usuario:</div></td> 
  29. <td> 
  30. <input type="text" name="username" size="20"></td> 
  31. </tr> 
  32. <tr> 
  33. <td><div align=right>Password:</div></td> 
  34. <td><input type="password" name="password" size="20"></td> 
  35. </tr> 
  36. <tr height="10"></tr> 
  37. <tr> 
  38. <td colspan="2"> 
  39. <center><input type="submit" value="Login"></center> 
  40. </td> 
  41. </tr> 
  42. </table> 
  43. <input type="hidden" name="action" value="login"> 
  44. </form> 
  45. <center> 
  46. </center> 
  47. </body> 
  48. </html> 


La página de inicio que posteé anteriormente pasa a la siguiente sin realizar la autenticación ... que estoy haciendo mal ? :cry:

Saludos y gracias ! :wink:
TELCO


Nota 2006-10-12 12:59 @582
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10250
La autenticación no la hace la página web, si no el cgi.


Nota 2006-10-12 13:06 @587
Avatar de Usuario
Perlero Nuevo
Registrado: 2006-08-10 10:43 @488
Ubicación: Buenos Aires / Argentina
Mensajes: 48
Estimado Explorer, :D

Y que puede estar pasando que no me funciona con la página web que tengo para el ingreso de user y pass ???
Te agradeceré toda la ayuda que me puedas dar con este tema.

Saludos y gracias !
TELCO


Responder al tema  [ 29 mensajes ]  Ir a página 1, 2  Siguiente

Reglas del Foro
No puedes abrir nuevos temas en este Foro
No puedes responder a temas en este Foro
No puedes editar tus mensajes en este Foro
No puedes borrar tus mensajes en este Foro
No puedes enviar adjuntos en este Foro

Publicidad

Socializa

Síguenos por Twitter

Suscríbete GRATUITAMENTE al Boletín de Perl en Español

Saltar a:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Traducción al español por Huan Manwë para phpbb-es.com
phpBB SEO