Monografias.com > Computación > Internet
Descargar Imprimir Comentar Ver trabajos relacionados

SQL Injection



Partes: 1, 2

    1. Introducción ("Entrando en
      Clima")
    2. Desarrollo
      ("Poniéndonos a Punto")
    3. Conclusión ("Al
      Fin Llegamos a la Meta: ¿¡Lo
      Logramos!?")
    4. Enlaces de
      Interés (¡En Internet!)

    ¡La Pesadilla De Todo
    Programador y Diseñador Web!

    Y… El Interés De
    Toda "Mente Curiosa"

    "Cuando puedes medir aquello de lo que hablas, y
    expresarlo con números, sabes algo acerca de ello; pero
    cuando no lo puedes medir, cuando no lo puedes expresar con
    números, tu conocimiento
    es pobre e insatisfactorio: puede ser el principio del
    conocimiento, pero apenas has avanzado en tus pensamientos a la
    etapa de La
    Ciencia."

    No resulta complicado manipular estadísticas; a veces es mucho más
    sencillo de lo que parece.
    Ustedes se preguntarán, entonces…
    ¿Cuál es "el punto" que quiere abordar?

    Si un individuo
    posee dos piedras y otro no tiene ninguna, la estadística promedio afirmará que
    tienen una piedra cada uno. Sin embargo, y a pesar de los
    extraños resultados proveídos por las
    estadísticas a nivel de cuestiones particulares,
    deberíamos confiar en éstos (siempre y cuando
    estemos seguros de que no
    han sido manipulados).
    Por lo tanto, en el Mundo de las TICs (Tecnologías de
    la Información y Comunicaciones
    ) sucede
    algo similar: podemos (llegar a) confiar en los resultados
    obtenidos por un computador u
    ordenador; en tanto y en cuanto los mismos no hayan sido
    "manoseados" por agentes externos a vuestro predominio y/o
    control.
    Pero… ¿Cómo saberlo a ciencia
    cierta
    ?

    Podría describirse a un proceso
    informático
    como una transformación de
    datos
    para obtener información. Es decir, a
    través de un sofisticado (pero no por ello incomprensible)
    flujo y/o trayecto de los datos,
    éstos son ingresados al sistema con la
    intencionalidad de ser operados (computados) para devolver
    información acorde a los requisitos solicitados por el
    usuario del equipamiento. De esa manera, se consigue lo
    "práctico/útil" de lo exigido.
    Ahora… ¿Qué sucede cuando esos datos
    proporcionados al ordenador/computador son falsos o, peor
    aún, han sido manipulados con intencionalidad
    perversa?

    Pues, bien, las computadoras
    pueden incorporar métodos
    (técnicas/estrategias) para
    detectar la manipulación de datos con intención
    dañina y evitar resultados indeseables e impredecibles que
    terminan siendo infortunios en su trabajo. Por
    eso, implementar tales metodologías en su/s
    sistema/s puede ser una solución determinada por una
    variable que condiciona (indudablemente) al tiempo: La
    Actualización; basada en los pilares de la progresiva y
    contínua dinámica. Empero, por otra parte, esto
    puede causarnos una tediosa labor y/o migración
    en los sistemas
    actuales; resultando ser hechos peligrosos para el entorno de sus
    encargados y responsables a nivel
    administrativo-técnico.
    En definitiva, para ir adentrándonos en los conceptos
    fundamentales de tales criterios, es menester aclarar que
    aquí lo más relevante no será alcanzar el
    total aprendizaje de La
    Nota, sino lograr "captar" la potencial peligrosidad subyacente a
    una indebida o incorrecta programación y, por consiguiente, diseño
    Web Dinámico (administrado con el soporte de Bases de Datos) y
    asesorar a las personas delegadas/autorizadas en tales asuntos:
    ¡Conceder vuestro "granito de arena"!

    Introducción
    ("Entrando en Clima")

    ¿A quién no le agrada "un poco" de
    Historia? Mejor,
    resérvense las respuestas. Pero, no lo dejaremos pasar por
    alto…

    • SQL (El Comienzo):

    El Lenguaje de
    Consulta Estructurado (Structured Query Language),
    cariñosamente conocido (por nosotros) con la nomenclatura de
    SQL, es un
    lenguaje declarativo de acceso a bases de datos relacionales
    que permite especificar diversos tipos de operaciones
    sobre las mismas. Concentra características del álgebra
    y el cálculo
    relacional permitiendo lanzar consultas con el fin de recuperar
    información de interés de un "banco de
    registros",
    de una forma sencilla y poderosa. Forma parte de los lenguajes
    de Cuarta Generación (4GL).

    Pero, ¿cómo llegó a "nuestras
    manos"?

    Sus orígenes dan a conocer que en 1970,
    Codd, propone el modelo
    relacional y asociado a este un sublenguaje de acceso a los
    datos basado en el cálculo de predicados.
    Apoyándose en estas ideas, los laboratorios de IBM
    definen el lenguaje
    SEQUEL (Structured English QUEry Language) que más tarde
    sería ampliamente implementado por el SGBD (Sistema de
    Gestión de Base de
    Datos) experimental System R, desarrollado en 1977
    también por IBM. Sin embargo, fue Oracle quien
    lo introdujo por primera vez en 1979 en un programa
    comercial.

    El SEQUEL terminaría siendo el predecesor de
    SQL, siendo éste una versión evolucionada del
    primero.

    El SQL pasa a ser el lenguaje por excelencia de los
    diversos SGBD relacionales surgidos en los años
    siguientes y es, por fin, estandarizado en 1986 por el ANSI,
    dando lugar a la primera versión estándar de este
    lenguaje, el SQL-86 o SQL1. Al año siguiente este
    estándar es también adoptado por la ISO.

    Empero, este primer estándar no cubre todas las
    necesidades de los desarrolladores e incluye funcionalidades de
    definición de almacenamiento que se consideraron suprimir.
    Así que en 1992 se lanza un nuevo estándar
    ampliado y revisado del SQL llamado SQL-92 o SQL2.

    En la actualidad el SQL es el estándar de facto
    de la inmensa mayoría de los SGBD comerciales. Y, aunque
    la diversidad de añadidos particulares que incluyen las
    distintas implementaciones comerciales del lenguaje es amplia,
    el soporte al estándar SQL-92 es general y muy
    extenso.

    Asimismo, el ANSI (Instituto Nacional Estadounidense
    de Estándares) SQL sufrió varias revisiones y
    agregados a lo largo del tiempo, por ejemplo, en una de sus
    últimas observaciones estudiadas, se permitió
    incluir: características del XML (Lenguaje
    de Marcas
    Extendidos), columnas autonuméricas, cambios y avances
    en ciertas funciones,
    etcétera.

    Hoy, a casi 30 años de su aparición, el
    "Pure SQL" ha demostrado que lejos de sus inicios como lenguaje
    "embebido", se ha convertido en una poderosa herramienta, capaz
    de manejar estructuras
    lógicas complejas, así como cualquier tipo de
    dato imaginado. De hecho, una versión en desarrollo
    denominada SQL3 comparte tantos atributos con los lenguajes de
    programación actuales que uno se puede animar a
    considerarlo como una versión de un verdadero (valga la
    redundancia) Lenguaje de
    Programación Standalone.

    Partes: 1, 2

    Página siguiente 

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter