JASoft.org

El blog de José Manuel Alarcón Aguín. Programación web y mucho más...

MENÚ - JASoft: JM Alarcón

Visor Web de ensamblados .NET 2.0

Me ha llamado mucho la atención esta utilísima herramienta basada enWeb que ha escrito Francesco Balena. Se trata de un visor de ensamblados .NET basado en Web, accesible públicamente y que trabaja con .NET 2.0. Te permite navegar por cualquier ensamblado y, utilizando reflexión, visualizar sus clases, miembros, interfaces, etc... pudiendo ahondar en ellos. Marca las novedades y diferencias entre .NET 2.0 y versiones anteriores. Una de las cosas que más interesantes me han parecido es que en cualquier miembro puedes averiguar qué tipos derivan de él, qué miembros devuelven el tipo seleccionado y cuáles lo usan bien como parámetro o como valor de retorno. Se pueden utilizar URLs directas para llegar a determinados tipos, lo cual es muy útil para referenciarlos en textos o mensajes a foros, por ejemplo.

Subclasificación de ventanas en .NET

¿Qué es la subclasificación? El sistema operativo Windows efectúa la comunicación entre los diversos objetos de la interfaz de usuario utilizando mensajes. Todo lo que ocurre en la interfaz requiere mensajes para ocurrir. Por ejemplo, cuando pulsas con el ratón sobre una ventana se envía un mensaje para indicar en dónde has pulsado y cómo. Si haces clic en el aspa de cerrar una ventana Windows envía un mensaje a ésta para que se cierre. Etc, etc... Otra cuestión a tener en cuenta en este contexto es que, en contra de lo que pueda parecer, muchos objetos aparte de las propias ventanas son también ventanas. Por ejemplo, un cuadro de texto, un botón o una rejilla son ventanas (sólo que de otros tipos) y por consiguiente reciben mensajes del sistema operativo para indicarles cómo deben comportarse. Cuando un proceso intercepta y (opcionalmente) modifica los mensajes que se envían a una ventana se dice que la ventana ha sido subclasificada. Pero, ¿para qué puede nos puede valer esto?. E... [Más]

Echaos a temblar: a partir de Octubre puedes ir a la carcel por hacer casi cualquier cosa en Internet :-)

A partir del 1 de Octubre de 2004, entra en vigor el nuevo Código Penal con el que se puede incurrir en penas de cárcel simplemente por descargar música en Internet. La nueva ley orgánica 15/2003, con la que se reforma de manera extensa el vigente Código Penal, incorpora una serie de medidas que deben hacer temblar a cualquier internauta habituado a los "usos" típicos de Internet hoy en día. Asimismo deben temblar aquellos padres que tienen a sus hijos navegando tranquilamente en la habitación, pues sin hacer nada "malo" podrían acabar llevándoles a la cárcel o al pago de una multa bastante cuantiosa. Desde el próximo 1 de Octubre de 2004, en España será delito penado con seis meses a dos años de cárcel y multa de 12 a 24 meses, bajarse una canción de Internet sin permisos del propietario de los derechos de autor (Art. 270, ap. 2). De igual modo se penaliza al que fabrique distribuya o simplemente tenga en su ordenador software capaz de suprimir o neutralizar herramientas de protec... [Más]

Mailinator: servicio de correo temporal

Hace unos meses me encontré con este interesante servicio y hoy, por cuestiones que no vienen al caso, me he acordado de él. Se trata de, Mailinator.net, un servicio de correo electrónico temporal y anónimo. ¿Qué quiere decir esto?. Lo mejor es que lo explique con un ejemplo... Imagínate el típico portal de Internet que tiene uno o dos archivos interesantes que te interesa bajarte pero que, para ello, debes registrarte antes en la página. Además sabes que a la hora de registrarte deberás proporcionar una dirección de correo válida puesto que te enviarán a ella una clave de acceso. El problema es que si realmente proporcionas una dirección tuya en el futuro te van a machacar con correo electrónico y no está el horno para bollos ¿verdad?. ¿No sería estupendo disponer de una cuenta que funcionase lo justo para que te escriban a ella y luego que te pudieras desentender de la misma? Pues esto precisamente es lo que hace Mailinator. Tú invéntate una cuenta cualquiera dentro del dominio mai... [Más]

Truco: Almacenamiento externo automático de cadenas de conexión

Cuando colocamos un objeto de conexión a un origen de datos sobre un formulario Windows Forms de Visual Studio .NET, éste aparece en la parte inferior del diseñador correspondiente y podemos editar sus propiedades desde la ventana de propiedades del entorno. La propiedad más importante de este objeto es, sin duda, ConnectionString. Normalmente la ajustamos desde la propia ventana de propiedades, y mucha gente la deja simplemente ahí, sin añadir forma alguna de modificarla de forma externa a la aplicación. Esto tiene varios problemas, pero los principales son: · Si queremos actualizar la cadena deberemos cambiar la propiedad desde el diseñador y recompilar la aplicación· Si alguien rastrea o descompila el código puede leer en claro la cadena (con contraseñas de acceso y otra información confidencial). Para evitar el primero de estos problemas es obvio que lo más sencillo es llevar esta cadena de conexion (entera o por partes) a algún archivo externo de configuración que leeremos de... [Más]

Vulnerabilidad en Mozilla y Firefox favorece el phishing

Se ha anunciado una vulnerabilidad en Mozilla y Firefox que permitiría a sitios web maliciosos falsificar el interfaz de usuario, lo que puede inducir al usuario a creer que se encuentra en un sitio diferente y ser empleado para realizar ataques de phishing (robo de información bancaria, cuentas de acceso, etc). El problema, que parece ser el mismo que el identificado como 244965 en Mozilla, reside en que estos productos no restringen a los sitios web la inclusión de archivos XUL remotos (XML User Interface Language) de tal manera que se puede "secuestrar" la mayor parte del interfaz, incluyendo la barra de herramientas, los diálogos de certificados SSL, barra de direcciones, etc. Esto es importante debido a que el interfaz de Mozilla está construida a base de archivos XUL. Hay que señalar que no se trata de un problema nuevo, ya que el mencionado bug fue mencionado por primera vez en 1999, pero fue marcado como confidencial durante 5 años, hasta que el pasado día 21 un desarrollador... [Más]

Registro automático de cambios en una tabla desconectada

Como es bien sabido la clase DataSet de .NET (dentro del espacio de nombres System.Data), permite utilizar de manera sencilla y potente un pequeño gestor de datos en memoria, sin necesidad de haber obtenido por fuerza los datos a partir de un gestor de datos convencional. El objeto DataSet puede haber sido creado dinámicamente por nosotros o se puede haber generado para trabajar en memoria con tablas y relaciones obtenidos de una fuente de datos relacional, por ejemplo. Un DataSet contiene, entre otras cosas, una colección de objetos DataTable que, como puede imaginar, son equivalentes conceptualmente a las tablas o relaciones en una base de datos relacional. No voy a entrar aquí a explicar todas las características de este tipo de objetos, pero sí me gustaría recordar que generan dos eventos con el fin de notificar de los cambios que sufren. Estos eventos son RowChanged y RowDeleted, y se lanzan cuando se cambia algún valor  o cuando se elimina una fila de la tabla respectivamente. ... [Más]

Cómo saltarse la protección de los cortafuegos por software

Me ha llamado poderosamente la atención este artículo del reciente número 62 de Phrack Magazine. En él se estudian los fundamentos del funcionamiento de los cortafuegos por software en el sistema operativo Windows. Después se ilustran dos métodos que un virus o programa mailintencionado podría emplear para comunicarse con el exterior de un sistema protegido, anulando el cortafuegos. Aunque no seas un programador de virus seguro que puedes aprender algo nuevo con él (te advierto es algo "espeso").

Ya está disponible DotNetmania de Julio/Agosto

Esta semana ha salido por fin el número de Julio/Agosto de la revista especializada en desarrolladores .NET: dotNetMania (www.dotnetmania.com). Portada de Julio/Agosto(pulsa para ampliar) Es especialmente interesante el tema central del mes, Biztalk Server 2004. El artículo de Pepe Hevia (muy extenso) es muy interesante y deja clarísimas las posibilidades de este producto. También se tratan, entre otros temas, el envío de correo electronico desde aplicaciones .NET, el diseño de arquitectura de aplicaciones o la persistencia de objetos. Yo también tengo presencia en este número con un (pienso que) interesante artículo sobre seguridad de IIS que forma parte de una serie que iré desarrollando en los próximos números de la revista. En esta ocasión vemos los distintos métodos de autenticación que nos ofrece IIS, el concepto de suplantación de usuarios y cómo su uso afecta a la seguridad de nuestras aplicaciones ASP y ASP.NET. Te recomiendo que te suscribas.

Cómo generar identificadores (GUID) en .NET

Un GUID es un conjunto de números que constituyen un identificador único (Global Unique IDentifier), es decir, que tiene la particularidad de que es imposible (al menos en teoría) generar otro idéntico aunque usemos el mismo algoritmo. Sus utilidades son muchas pero obviamente todas se refieren a la necesidad de identificar de manera úica alguna entidad, dato u objeto, de forma que lo podamos distinguir de cualquier otro independientemente de cómo, cuándo y dónde haya sido generado. Es especialmente útil en aplicaciones de bases de datos para identificar de manera única registros de diversas tablas (o de una sola si no usamos autonuméricos). Antes de .NET, sobre todo si programabas con Visual Basic, un truco muy socorrido para generar este tipo de GUID era utilizar SQL Server para generarlos, empleando la siguiente consulta: SELECT NEWID() que devuelve expresiones similares a esta: 9035DEC7-A6C2-4B1B-AA99-37401965E7C0 Lo malo es que si no teníamos SQL Server no nos servía el tru... [Más]