Leyendo datos de una página Web. InternetReadFile() API

Foro dedicado a todo lo relacionado con la versión 4 de la plataforma de Metaquotes.
Responder
Mestize
Mensajes: 8
Registrado: 20 Feb 2009 22:10
Ubicación: www.forexmq4.blogspot.com

Leyendo datos de una página Web. InternetReadFile() API

Mensaje por Mestize »

Hola. En el nuevo post del blog os dejo una librería de metatrader que tiene una función con la que es posible leer datos de una página Web. Está comentada con imágenes paso a paso su utilización.
Espero que os guste y vuestros comentarios allá o aquí.
Un saludo,
Mestize
http://www.forexmq4.blogspot.com
Mestize
Avatar de Usuario
nstrader
Mensajes: 257
Registrado: 24 Mar 2007 19:33

Mensaje por nstrader »

Buen articulo Mestize, siempre he creido que con mql4 se puede hacer cualquier cosa hasta donde la imaginación y creatividad permitan si dominas el lenguaje.
Un saludo
Avatar de Usuario
nstrader
Mensajes: 257
Registrado: 24 Mar 2007 19:33

Mensaje por nstrader »

Y hablando de imaginación, de la misma forma que se puede leer un documento externo, también se puede leer un documento local y ya de paso ese documento que sea un archivo mq4 o mqh, y poniéndole más imaginación que ese archivo se pueda volcar a un formulario de una dirección web o a un ftp concreto. Resumiendo tenemos un indicador que roba archivos. Sería el titulo de un buen artículo, no quiero dar malas ideas, pero yo soy muy mal pensado y por eso te dije que no ejecutaba archivos compilados sin saber su código fuente. Creo que el fallo de seguridad estaría por permitir la importación de archivos DLL. Estaría bien comprobar este supuesto para prevenir al personal.
Un saludo
Mestize
Mensajes: 8
Registrado: 20 Feb 2009 22:10
Ubicación: www.forexmq4.blogspot.com

Mensaje por Mestize »

nstrader escribió:Y hablando de imaginación, de la misma forma que se puede leer un documento externo, también se puede leer un documento local y ya de paso ese documento que sea un archivo mq4 o mqh, y poniéndole más imaginación que ese archivo se pueda volcar a un formulario de una dirección web o a un ftp concreto. Resumiendo tenemos un indicador que roba archivos. Sería el titulo de un buen artículo, no quiero dar malas ideas, pero yo soy muy mal pensado y por eso te dije que no ejecutaba archivos compilados sin saber su código fuente. Creo que el fallo de seguridad estaría por permitir la importación de archivos DLL. Estaría bien comprobar este supuesto para prevenir al personal.
Un saludo
Hola. La función API que emplea es "InternetReadFile()", como su nombre indica es para leer un stream of bytes de una URL Web standard. No sirve para copiar archivos locales.
Además, en metatrader se han cuidado mucho de las operaciones con ficheros locales permitiendo sólo manejar aquellos situados en directorios concretos tales como experts/files de uso propio para Metatrader. Lo cual me parece muy bien por seguridad.
Mestize
Mestize
Avatar de Usuario
nstrader
Mensajes: 257
Registrado: 24 Mar 2007 19:33

Mensaje por nstrader »

Mestize escribió: Hola. La función API que emplea es "InternetReadFile()", como su nombre indica es para leer un stream of bytes de una URL Web standard. No sirve para copiar archivos locales.
Además, en metatrader se han cuidado mucho de las operaciones con ficheros locales permitiendo sólo manejar aquellos situados en directorios concretos tales como experts/files de uso propio para Metatrader. Lo cual me parece muy bien por seguridad.
Mestize
No me refería a un acceso a un fichero local con metatrader, está claro que este solo permite acceder al directorio experts/files, me refería a accesos a otros directorios mediante funciones API de windows diferentes a las que has mencionado. Por algo han puesto la confirmación manual para llamadas a dll externas. Solo digo que se debería estudiar esto por seguridad. Yo cuando tenga tiempo lo estudiaré, pero si te adelantas, me quitas trabajo :D . Un saludo

Mestize
Mensajes: 8
Registrado: 20 Feb 2009 22:10
Ubicación: www.forexmq4.blogspot.com

Mensaje por Mestize »

El manejo de ficheros a nivel local con metatrader empleando APIs(mover, copiar, renombrar, ejecutar, etc...) lo tengo comentado en el post de fecha martes 25 de noviembre de 2008 correspondiente a la API SHFileOperation().
Mira, si quieres, el archivo fuente "SHFileOperationTest.mq4" de ese post. Creo que te gustará. Lo tengo comentado línea a línea en código fuente, precisamente para que este tipo de operaciones con archivos locales sea algo controlado del todo por el usuario.
Un saludo,
Mestize
Mestize
Avatar de Usuario
nstrader
Mensajes: 257
Registrado: 24 Mar 2007 19:33

Mensaje por nstrader »

Wow lo que acabo de hacer con eso, si que me ha gustado sí, es a lo que me refería, habra que tener cuidado a llamadas a la función lstrcpyA de kernel32.dll de compilaciones desconocidas y malintencionadas, pero es una función muy valiosa. Gracias

Un saludo
Si te ha gustado este hilo del Foro, ¡compártelo en redes!


Responder

Volver a “Metatrader 4”