Lenguajes tipo Script - PowerPoint PPT Presentation

1 / 24
About This Presentation
Title:

Lenguajes tipo Script

Description:

Lenguajes tipo Script – PowerPoint PPT presentation

Number of Views:99
Avg rating:3.0/5.0
Slides: 25
Provided by: jessarella
Category:
Tags: db | lenguajes | script | tipo

less

Transcript and Presenter's Notes

Title: Lenguajes tipo Script


1
Lenguajes tipo Script
  • PERL Y PYTHON

2
Contenido
  • Bases de datos, gráficos, coreos.
  • Programación CGI
  • Seguridad en Perl

3
Bases de datos
  • Definición de BD
  • Es una colección de datos relacionados entre sí.
  • Modelos de BD
  • Jerárquico
  • De red
  • Relacional
  • Orientado a objetos
  • BD deductivas

4
Bases de datos
  • Sistema manejador de bases de datos (SMBD).
  • Permite almacenar, relacionar y consultar
    información.
  • En un SMBD relacional consta de tres lenguajes
  • DDL Lenguaje de definición de datos
  • Bases de datos que contienen tablas
  • Tablas que contienen campos (columnas)
  • DML Lenguaje de manipulación de datos
  • Insertar, consultar, modificar y borrar datos
  • DCL Lenguaje de control de datos
  • Especifica quién puede accesar los datos.

5
Bases de datos
  • Perl y DBI
  • El módulo DBI se usa para manipular una base de
    datos relacional, como Oracle, Access, SQL
    Server, MySQL, etc.
  • DBI significa Data Base Interface y supone una
    capa de alto nivel para acceder a una base de
    datos, permitiendo escribir un código Standard
    que nos sirve para todas las BD.
  • Requiere de un módulo DBD (Data Base Driver), de
    la base de datos correspondiente.
  • Ej. DBDOracle.

6
Bases de datos
Common Gateway Interface
Interfaz Propietaria
Manejador de Interfaz
HTTP Protocolo
Interfaz DBI
Interfaz DBD
Navegador Web
Servidor Web
Script CGI
Módulo DBI
Módulo DBD Oracle
Manejador de la BD
Interfaz DBD
Interfaz Propietaria
Manejador de Interfaz
Módulo DBD MySQL
Manejador de la BD
7
Bases de datos
  • Uso del módulo DBI
  • Primero se debe cargar el módulo DBI
  • use DBI
  • Conectar con la base de datos
  • dbh DBI-gtconnect (DBImysqldbhostname,
    user, password)
  • Sentencias SQL
  • Abrir un cursor. Operación de consulta (SELECT)
  • stm dbh-gtprepare(SELECT FROM prueba)
  • stm-gtexecute()
  • Obtener los resultados
  • while( _at_data stm-gtfetchrow_array()
  • print DATA _at_data\n
  • Cerrar el cursor
  • stm-gtfinish()
  • Cerrar la conexión con la BD
  • dbh-gtdisconnect
  • Terminar
  • exit

8
Gráficos
  • Módulo GD
  • Mediante éste módulo es posible generar de forma
    fácil cualquier dibujo sencillo y exportarlo a
    los formatos gráficos más comunes como JPEG, GIF.
  • Define las siguientes clases
  • GDImage.
  • GDFont
  • GDPolygon

9
Gráficos
use GD Creamos el objeto Image que contiene el
dibujo im new GDImage(100,100)
Establecemos los colores a utilizar white
im-gtcolorAllocate(255,255,255) black
im-gtcolorAllocate(0,0,0) red
im-gtcolorAllocate(255,0,0) blue
im-gtcolorAllocate(0,0,255) Hacemos el fondo
transparente y entrelazado im-gttransparent(white
) im-gtinterlaced('true') Dibujamos un
rectángulo Negro que bordea la figura im-gtrectang
le(0,0,99,99,black) Dibujamos un óvalo
azul im-gtarc(50,50,95,75,0,360,blue)
Rellenamos la figura en rojo im-gtfill(50,50,red)
Grabamos la imagen en un fichero open IMG,
gtimagen.jpg binmode IMG print IMG
im-gtjpeg close IMG
10
Correo
  • Módulo Mail
  • Una de las tareas que frecuentemente realiza Perl
    es la lectura y/o envío de correo electrónico,
    para esto se puede utilizar el módulo Mail.

11
Correo
Ejemplo para enviar un Mail use
MailSendmail mail ( To gt
'su_direccion_at_alli.com', From gt
'mi_direccion_at_aqui.com', Message gt "Mensaje de
prueba" ) if (sendmail mail) print "Mail
enviado correctamente.\n" else print "Error
al enviar mail MailSendmailerror\n"
12
Correo
Ejemplo para leer el Mail use
MailPOP3Client pop new MailPOP3Client(
USER gt "el_usuario", PASSWORD gt
"la_contraseña", HOST gt "pop3.servidor.com" )
foreach ( pop-gtHeadAndBody( 1, 10 ) ) print
_, "\n" pop-gtClose
13
Programación CGI
Sitio Web
Sistema del Usuario
CGI
Servidor Web
Programa CGI
Visor Web (Netscape, Explorer)
Ficheros de disco
Base de datos
Documentos HTML
14
Programación CGI
  • Configuración del servidor
  • Para que un servidor puede ejecutar CGI, hay que
    configurar adecuadamente el daemon.
  • Si se utiliza el servidor CERN, editar el
    fichero httpd.conf, donde se encuentra una línea
    como
  • exec /cgi-bin/ /home/www/cgi-bin/
  • Si se utiliza el servidor de NCSA, editar el
    fichero srm.conf, añadiendo una línea del tipo
  • ScriptAlias /cgi-bin/ /home/www/cgi-bin/

15
Programación CGI
  • Ejecutar script de CGI
  • Se requiere determinar dos cosas
  • Cómo y dónde almacenar el script en el servidor
  • Cómo invocarlo desde el cliente
  • El script debe almacenarse en un directorio
    llamado cgi-bin, puede ser dentro del directorio
    public_html
  • La manera más fácil de ejecutar un CGI es
    simplemente poniendo un vínculo con el comando a
    ejecutar

16
Programación CGI
  • Qué parte es Perl, y qué parte es html
  • El formulario que se presenta al usuario está
    escrito en html, y este llama al script en el
    servidor escrito en perl. El script devolverá, en
    la mayoría de los casos código html para
    presentar al usuario.

17
Programación CGI
Código HTML ltform method"POST"
action"http//lsc.fie.umich.mx/cgi-bin/chiste-env
io.pl"gt ltPgtTu nombre ltinput name"nombre"gtlt/Pgt ltP
gtEl chiste lttextarea cols60 rows5
name"chiste"gtlt/textareagtlt/Pgt ltPgtltinput
type"submit" value"Enviar"gtltBRgt ltinput
type"reset" value"Borrars"gtlt/Pgt lt/formgt
Script en Perl !/usr/local/bin/perl
chiste-envio.pl push(_at_INC,"/p/www/httpd/cgi-bin/")
require("cgi-lib.pl") ReadParse print
PrintHeader print "ltHTMLgtltHEADgt\n" print
"ltTITLEgtReconocimiento de chistelt/TITLEgt\n" print
"lt/HEADgtltBODYgt\n" print "Gracias
",in'nombre',",Tu envío será revisado lo antes
posible. .ltPgt\n " print "lt/BODYgtlt/HTMLgt\n"
18
Programación CGI
  • Pasarle valores a los CGIs al llamarlos
  • GET El visor Web envía los datos del formulario
    como una parte del URL que especifica el atributo
    ACTION de la etiqueta FORM. Usando la misma forma
    en que la llamada a programas en Perl desde la
    línea de órdenes lo haría, como argumentos.
  • Ejemplo
  • !/usr/bin/perl
  • composicion del documento a mostrar
  • print "Content-type text/plain\n\n"
  • if( ARGV lt 0 )
  • print "NO hay argumentos \n"
  • else
  • print "SI hay argumentos (del 0 al ARGV)
    \n"
  • for(i0 i lt ARGV i)
  • print "i ARGVi \n"

19
Programación CGI
  • Pasarle valores a los CGIs al llamarlos
  • POST El visor Web utiliza el comando HTTP POST e
    incluye los datos del formulario en el núcleo del
    comando, por lo que no aparecen en la URL. El
    servidor Web utiliza la entrada estándar del
    programa CGI. Los pasos para obtener los valores
    son los siguientes
  • Obtener la longitud de la entrada mediante
    CONTENT_LENGTH.
  • Extraer los pares nombrevalor divididos por
  • En cada par, convertir todas las secuencias xx
    en los caracteres ASCII equivalentes.
  • En cada par nombrevalor, convertir todos los
    caracteres en espacios.

20
Programación CGI
  • Cuándo utilizar GET y cuándo POST
  • Se debe utilizar GET cuando
  • El volumen de la información sea pequeño.
  • Se desea acceder a un programa CGI sin usar un
    formulario.
  • Cuando no se desee alterar nada en el servidor.
  • Se debe utilizar POST cuando
  • El volumen de la información sea elevado.
  • Cuando las operaciones sean más complejas que
    simplemente las lecturas, como podría ser la
    actualización de registros en una base de datos.

21
Programación CGI
  • Paso de parámetros del servidor al CGI
  • Variables de ambiente o entorno

22
Programación CGI
  • Devolución de datos desde el programa CGI.
  • Independientemente de cómo se transfiere la
    información (Web-CGI), el CGI siempre devuelve
    información al servidor Web escribiendo en la
    salida estándar.
  • Además de datos se envía una pequeña información
    de cabecera que debe figurar al comienzo, la cual
    indica el tipo de salida que se va a dar como
    resultado. El tipo de documento se especifica en
    una línea del tipo
  • Content-type tipo_MIME
  • donde tipo_MIME puede ser
  • text/html
  • text/plain
  • image/gif
  • image/jpeg
  • video/mpeg
  • etc.

23
Seguridad en Perl
  • Como un programa CGI es un ejecutable, es
    equivalente a dejar a el mundo ejecutar un
    programa en el sistema.
  • Son necesarias una serie de precauciones de
    seguridad.
  • Los programas CGI residen en un directorio
    especial, que esta bajo el control del webmaster,
    prohibiendo al usuario crear programas CGI

24
Seguridad en Perl
  • Escribir scripts CGI seguros
  • Siempre que un programa interactúa con un cliente
    por la red, existe la posibilidad deque el
    cliente ataque al programa para conseguir un
    acceso. El script más inocente puede ser muy
    peligroso para la integridad del sistema.
  • Se debe tener cuidado con sentencias como eval
    que permiten construir una cadena y dejar al
    intérprete que la ejecute.
  • Un cliente correcto evitará los caracteres que
    tienen un significado especial para el
    intérprete.
  • Si se utilizan datos del cliente para construir
    llamadas popen() o system(),se debe poner un
    backslash delante de caracteres especiales.
Write a Comment
User Comments (0)
About PowerShow.com