ASIGNATURA:
HERRAMIENTAS WEB PARA
RESUMEN TRABAJO 3:
ActiveX
Autor: Ana Graciela
Mago de Llamas
ActiveX es una tecnología desarrollada por Microsoft e introducida
en muchos ámbitos de la programación, se presenta como una mejora a las propuestas
de OLE (Object Linking and Embedding) y a la programación de los controles VBX.
Su llegada tuvo por objeto mejorar el navegador de Internet Explorer y su
potencial radica en ofrecer una mayor interactividad y tratamiento de
información compleja.
De la tecnología ActiveX destacamos su utilización, programación
de aplicaciones e integración en documentos HTML. Entre las herramientas
básicas utilizadas se destacan: uso de lenguaje script Microsoft Visual Basic
Script; manejo de ActiveX Control Pad; conocimiento de Microsoft Internet
Explorer; conjunto de controles ActiveX para Internet -de Microsoft-; y
utilización de técnicas de intercambio de datos (CGI e ISAPI).
Los componentes ActiveX los podemos encontrar integrados en las
páginas Web, por lo que al descargar una página Web también estamos descargando
sus componentes y por ende su instalación. Estos componentes pueden usarse para
desplegar ricos entornos gráficos con una gran interactividad como puede ser,
animación, video, imágenes, 3D, etc. Por ello, la tecnología ActiveX es de
algún modo parecido a Java, ya que puede ser usado para mejorar contenido de
páginas Web, y funciona automáticamente en un navegador Web.
Como hemos dicho antes, su función fue la dotación de mayores
funcionalidades a las páginas Web como video, navegación tridimensional, etc.,
sin embargo los controles de ActiveX son programas que pueden ser objeto de
algún virus, este fallo se debe a una condición de carrera a la hora de mostrar
y procesar diálogos de seguridad relativos a sus controles. Esta característica
les permite a los atacantes manipular los diálogos si se incita al usuario a
que visite una página especialmente manipulada, aunque requiere cierta
interactividad por parte del usuario. La explotación exitosa de este problema
puede provocar la instalación, de forma inadvertida para el usuario, de código
ActiveX en el sistema por lo que se
recomienda no navegar por páginas no confiables.
Existen muchos controles ActiveX tanto del lado del servidor
como del cliente, que están ya desarrollados y podemos incluirlos fácilmente en
nuestras creaciones. ActiveX, consta de dos partes diferenciadas: el servidor y
los clientes. La plataforma servidora debe contener los controles ActiveX o la
referencia de donde se encuentran y, caso de no estar ya en la plataforma
cliente, transferirlos a ésta, registrarlos en su sistema y ejecutar el código
asociado. En la actualidad, los controles ActiveX son propietarios de las
plataformas que trabajen bajo los sistemas operativos Windows 32-bits (Windows
95 y Windows NT), pero está desarrollándose su soporte para Macintosh (MacOS)
y, se prevé que llegue a buen término, a múltiples plataformas UNIX.
Los controles ActiveX, desde la perspectiva del programador, se
pueden utilizar en lenguajes habituales en Internet, incluyendo Java,
JavaScript y, por supuesto Visual Basic Scripting Edition, además de todos los
tradicionales que sean capaces de manejar controles OLE (Compiladores de C/C++
de Microsoft, Borland, Symantec o Watcom, Sybase Optima++ y Powerbuilder,
Microsoft Visual Basic, Borland Delphi, CA-Visual Objects 2.0, etc..).Los
programas ActiveX son semejantes a los Applets de Java en su funcionamiento,
aunque una diferencia fundamental es la seguridad, pues un Apple de Java no
podrá tomar privilegios para realizar acciones malignas y los controles de
ActiveX si que pueden otorgarse permisos para hacer cualquier cosa. Estos
controles ActiveX son propios de Internet Explorer.
Podemos encontrar controles ActiveX del Servidor las personas que
conozcan ASP seguro que los utiliza ya, aunque sin darse cuenta. Por ejemplo,
cuando se realiza una conexión con una base de datos, estamos utilizando un
control ActiveX del Servidor.
Modo de trabajo de los ActiveX
Las características de trabajo de los ActiveX se centran en:
·
Los módulos
tienen unas características de autonomía propia. Con ello, deben ser código
binario (compilado) que sea capaz de definir cuando iniciar y cuando terminar
su ejecución.
Programación con ActiveX para Internet
Hay que tener en cuenta que en estos momentos, sólo pueden visualizarse páginas Internet con controles ActiveX mediante Microsoft Internet Explorer 3.x o superior. Ha de esperar a las próximas versiones del navegador de Netscape para poder utilizarlo con dichos controles. Alternativamente, se puede usar el plug-in de la empresa NCompass Labs Inc., que permite usar controles ActiveX desde Navigator.
La principal dificultas de
programar con controles ActiveX, insertados en páginas Web, es conocer detalles
acerca de los registros, propiedades y métodos de los controles. Si utiliza
entornos de desarrollo Microsoft Visual J++, la dificultad se verá
sustancialmente atenuada, pero si desea usar lenguajes script, al estilo de
JavaScript, puede suponer un serio problema, ya que habrá que disponer de la
documentación completa del control (muchas veces no fácilmente accesible) e ir
al registro de Windows para saber su código de registro (Regedit.exe).
Afortunadamente Microsoft pone en nuestras manos una notable herramienta, de
libre acceso a través de Internet, que se denomina Microsoft ActiveX Control Pad su atractivo fundamental, que no es único, es que nos facilita la labor
de elucidación de códigos y la integración asistida de controles ActiveX en
páginas para iNet.
La estructura del tag de inserción
de objetos ActiveX, en la forma <OBJECT..> .......
</OBJECT>, es:
<OBJECT
ID=......
CLASSID=...
CODEBASE=...
ALIGN=...
BORDER=...
WIDTH=...
HEIGht=...
...
<PARAM NAME=... VALUE=...>
...
</OBJECT>
donde:
· ID: Un identificador único, que podremos especificar según nuestra conveniencia (no puede contener espacios en blanco), que servirá para referirnos a los parámetros y acceder a los valores de propiedades, cuando trabajemos con código script, Java u otros.
· CLASSID: Contiene la clave del control ActiveX que ha de registrarse en el ordenador cliente, al estilo de CLASSID="CLSID:D7053240-CE69-11CD-A777-00DD01143C57". Este código de valor es el que está en el registro de Windows. Utilizando RegEdit, puede elucidarlo buscando la clave de registro CLSID para el archivo OCX que contenga el control ActiveX. El uso Microsoft ActiveX Control Pad facilita enormemente la labor, ya que lo incluye de forma automática.
· CODEBASE: Aquí podremos indicar, en forma de una cadena URL, en que lugar se encuentra el control ActiveX, caso de necesitar el cliente descargarlo en su ordenador. Si no se especifica nada, se supone se encuentra en el URL base del documento.
· WIDTH y HEIGHT: Fija el ancho y le alto que ocupará el control ActiveX en la página html.
· ALIGN: Fija el modo de alinear el control, en la página html.
· BORDER: Fija el tipo de borde que aparecerá en el contorno del Control ActiveX
· Parámetros/Propiedades: Aquí se fijan las propiedades (properties) características del control ActiveX. Hemos de disponer de la documentación técnica del control para conocer los tipos de datos y posibles valores. Si utiliza ActiveX Control Pad, se le mostrará una ventana flotante para definir todos estos parámetros y se creará automáticamente la referencia con la sintaxis correcta. El formato general es <PARAM NAME=... VALUE=...>.
Bibliografía
-Explicamos los detalles más
importantes de la tecnología para el desarrollo de páginas dinámicas de
Microsoft.
http://www.desarrolloweb.com/articulos/993.php
-PC World Digital. ActiveX Edición Especial. La tecnología
ActiveX, una extensión de las primeras propuestas de OLE (Object
Linking and Embedding) y sucesora en cuanto a componente de
programación de los controles VBX. http://www.idg.es/pcworld/ActiveX._Edicion_especial/art38027.htm
-VFP 5.0 como servidor OLE. En el
desarrollo de software se ha intentado introducir elementos propios de la
ingeniería a fin de aprovechar el esfuerzo que supone la contrucción
de sistemas informáticos. Una de las áreas en las que más se ha avanzado en
este sentido es la que intenta convertir el proceso de construcción de
programas en un proceso de conjunción de elementos ya existentes. http://fpress.com/revista/num9701/ene97.htm
-Panda Security. http://www.pandasecurity.com/spain/homeusers/security-info/glossary/glossary.aspx
-Tecnología ActiveX. Fundamentos de la tecnología ActiveX. Los
antecedentes de la tecnología ActiveX se remontan a la tecnología Object Linking and Embedding (OLE versión
1.0 y 2.0), que se puede traducir por Objetos Vinculados e Incrustados. Nacio a partir de lo que se denominaba DDE, Dynamic Data Exchange o Intercambio dinámico
de Datos, la cual se implemento en aplicaciones de Microsoft (Excel, Access, etc). http://personal.redestb.es/juanperez/activex.htm
-Vulnerabilidad en diálogos de seguridad ActiveX de Internet
Explorer. Se ha identificado una vulnerabilidad en Microsoft Internet Explorer
que puede ser aprovechada por atacantes para ejecutar código en un sistema
afectado. http://www.vnunet.es/Actualidad/Noticias/Seguridad/Vulnerabilidades/20060504017
-IE: Vulnerabilidad en control de
instalación ActiveX. Ha sido identificada
una vulnerabilidad en Microsoft Internet Explorer, que puede ser explotada por
un atacante remoto para tomar el control total del sistema infectado. http://www.vsantivirus.com/vul-ie-activex-270406.htm