Ver Mensaje Individual
  #241 (permalink)  
Antiguo 10/10/2006, 05:09
Avatar de crcbad
crcbad
 
Fecha de Ingreso: enero-2005
Mensajes: 302
Antigüedad: 19 años, 11 meses
Puntos: 0
USANDO Y MANEJANDO ACTIVEX I

P1: Notas.

ActiveX es una tenología que permite utilizar objetos OLE dentro de páginas web, siendo creados por Microsoft y siendo válidos desde la versión 3.0 del IE.

Es una tecnología que en el mundo web está bastante mal usada, y es la fuente de incursión de muchos tipos de datos peligrosos en nuestro PC por tener acceso al sistema de fichero de la persona que ejecuta el ActiveX, por lo que por seguridad siempre se encuentra desactivada la opción de ejecutar ActiveX. No obstante, los antivirus y antytroyanos ayudan a que ningún código peligros pudiera entrar.

No obstante, tiene sus ventajas el acceder a dichas propiedades de la colección de ActiveX, y yo, voy a poner algún ejemplo de ello.

-------------------------------
P2: Apertura, Lectura y Cierra de un fichero.

La función a la que llamaremos es:

Código PHP:
function lecturaActiveX(directorio,archivo)
{
 
// Creamos objeto a la librería FileSystemObject
 
var objSystem = new ActiveXObject("Scripting.FileSystemObject");
 
 
// Comprobamos que el directorio exista
 
if (fso.folderexists(directorio) == false
  return 
false;
 
 else
 { 
  var 
rutaCompleta directorio fichero;
 
  
// Comprobamos que el fichero exista
  
if(objSystem.FileExists(rutaCompleta ) == false
   return 
false;
 
  else 
  {
   
// Abrimos el fichero con la ruta seleccionada
   
var objFichero objSystem.OpenTextFile(rutaCompleta ,1);
 
   
// Método para leer el contenido del fichero
   
var datosFichero objFichero.readall();
 
   
// Cierra de fichero
   
objFichero.close();
 
  
// Envío de la información, por ejemplo a un TextArea
   
return datosFichero 
  }
 }

Nota: Si en el directorio ponemos la ruta de nuestro PC con la barra "\" nos dará error, tenemos que escapar esa barra con "\\".

-------------------------------
P3: Apertura, Modificación y Cierre de un fichero.

Ahora lo mismo, pero modificando la información de un fichero con alguna nueva, es decir, haciendo una operación de agregación de datos, esta vez pondré un ejemplo tal cual tengo en un HTML:

Código PHP:
function guardadoInfo()
 
// Arreglo temporal con ActiveX para guardar el codigo en el fichero
 
modo 1;
 
 
// Esta línea la podéis quitar :P
 
rutaCompleta rTrim(app.replace(/Ç/g, '\\')) + nomFich;
 
 // Creamos objeto FileSystemObject
 
var fso = new ActiveXObject("Scripting.FileSystemObject");
 
 
// Caso de que no exista el fichero
 
if(fso.FileExists(rutaCompleta) == false && modo==0
  return 
false;
 
 
// Si estamos en modo append guardamos todo el contenido del fichero
 
if(fso.FileExists(rutaCompleta) != false && modo==2
 {
  
fich fso.OpenTextFile(rutaCompleta,1);
  
temporal fich.readall(); 
  
fich.close(); 
 }
 
 else 
  
temporal "";
 
 
// Objeto para crear un nuevo fichero con la info del antiguo más lo que queremos agregar
 
fich fso.CreateTextFile(rutaCompleta,2);
 
 
// Escribimos dicho contenido en el objeto fich
 
fich.write(temporal document.getElementById("codigo").innerText);
 
 
// Cierra del fichero
 
fich.close();

-------------------------------
P4: Ejecución de comandos mediante ActiveX.

Código PHP:
function ejecutaComando() 
{
 
// Creamos objeto shell
 
var objShell= new ActiveXObject("WScript.Shell");
 
 
// Parámetro 1 -> Ruta: Ruta completa con el comando a ejecutar
 // Parámetro 2 -> Modo: 0: Oculto, 1: normal, 2: minimizado, 3: maximizado, 4: normal sin foco 
 // Parámetro 3 -> Instancia: false:Múltiples instancias, true: Solo una.
 
 
var ejecuta objShell.run("C:\\ARCHIV~1\\OFFICE\\WORD.EXE, 2, true);
return ejecuta;

-------------------------------

Como véis, lo que se puede hacer es realmente grande, pero exige que el administrador de la máquina tiene una configuración bien realizada para que solamente ejecute ActiveX de confianza, bien de una determinada web, o bien de una determinada intraner, o bien de un determinado grupo de dominios.

Saludos
__________________

:cool: [ http://eruben.sytes.net ] :cool:


Las dos frases que te ayudarán a salir adelante:
  • No hay mujer fea, solo copas de menos. :borracho:
  • Ante la duda, siempre coge la más tetuda. :arriba: