JASoft.org

Obtener la IP de conexión de un usuario (aunque entre con un proxy)

Obtener la IP de conexión de un usuario (aunque entre con un proxy)
El otro día me hicieron una pregunta muy común que es "¿cómo puedo obtener la dirección IP de los usuarios que se conectan a mi aplicación Web ASP.NET?" La respuesta es directa y sencilla: usando la variable HTTP_CLIENT-IP de las cabeceras del servidor, a través del objeto Request así: Request.ServerVariables{"HTTP_CLIENT-IP"] Más fácil imposible. Sin embargo hay una cuestión que no todo el mundo tiene controlada y es que muchos usuarios acceden a Internet a través de un proxy, y la mayor parte de las veces ni siquiera lo saben. Ello es debido a que algunos proveedores de acceso a Internet (por ejemplo Telefónica en España) para ahorrar ancho de banda utilizan proxies-caché que actúan de hombre en el medio a la hora de acceder a las páginas de Interenet. Si no lo tenemos en cuenta podemos llevarnos más d eun disgusto en nuestras aplicaciones, sobre todo si creemos que con la cabecera anterior ya tenemos la IP del usuario, ya que en realidad obtendremos la IP del Proxy. ¿Cóm... [Más]

Un detalle agradable del EFS en Windows Vista

Un detalle agradable del EFS en Windows Vista
Me ha sorprendido gratamente un detalle que descubrí el otro día al usar por primera vez el sistema de archivos cifrados (EFS) de Windows Vista. Resulta que la primera vez que lo usas te aparece un iconito en el área de notificación (al lado del reloj) que te dice que para tú seguridad deberías sacar una copia de seguridad del certificado digital de tu usario, que es el que se usa para cifrar la información, y se muestra un diálogo como este: Esto evita muchas desagradables sorpresas ya que mucha gente no es consciente de esta necesidad y luego no pueden descifrar sus archivos que tan bien tenían protegidos. En Windows XP y 2000 nada te avisaba de este hecho y la única forma de sacar una copia de seguridad de tu certificado era recurrir a los siguientes pasos: 1.- Inicio·Ejecutar y escribe mmc.exe2.- Archivo·Agregar o quitar complemento3.- Agregar y luego escoger el complemento "Certificados" y elegir la opción de "Mi usuario" al añadirlo.4.- Dentro del complemento navegar por e... [Más]

El increible e inesperado mundo de las tipografías de ordenador

El increible e inesperado mundo de las tipografías de ordenador
En la revista IEEE Spectrum de este mes de Mayo trae un artículo escrito por Kevin Larson de Microsoft que me ha dejado impresionado. Se trata de "The Technology of Text" y en él Larson, un experto en tipografía del gigante informático, explica las dificultades existentes en algo que damos tan por sentado como un tipo de letra. Son realmente impresionantes los desafíos técnicos a los que se deben enfrentar estos profesionales, y la dificultad que entraña la creación de un tipo de letra que sea legible en las pantallas digitales de tan baja calidad si las compramos con una imprenta. Esta cuestión que parece baladí es interesante ver la brutal influencia que tiene en nuestro trabajo, estado de ánimo e incluso capacidad para razonar, como demuestran diversos experimentos psicológicos. Desde el punto de vista técnico sólo daré algunos datos que me han llamado poderosamente la atenci&o... [Más]

Una característica poco conocida de VS2005: puntos de interrupción dinámicos

Una característica poco conocida de VS2005: puntos de interrupción dinámicos
Todos sabemos que para depurar una aplicación una de las herramientas más útiles que tenemos son los puntos de interrupción. Para activar uno basta con colocarse en la línea de código que nos interese inspeccionar y pulsar F9. Ésto coloca un puntito rojo en el lateral del editor que nos indica que posteriormente la ejecución se detendrá allí cuando el código pase por el punto. Con F9 lo desactivamos de nuevo. Pero... ¿se te ha dado por pulsar con el botón derecho sobre uno de estos puntos de interrupción?: Tenemos diversas opciones todas muy interesantes y quizá infrautilizadas. Pero si hay una de ellas que poca gente conoce es la última: "Al visitar..." ¿qué diantres es esto? Pues como su propio nombre indica nos permite especificar qué queremos hacer cuando el depurador llegue a este punto de interrupción. Al elegier esta opción aparece el siguiente diálogo: Con él podremos indicar que, al pasar por este punto de interrupción se anote en la ventana de depuración mucha inform... [Más]

ReMIX'07: El evento al que no debes faltar

ReMIX'07: El evento al que no debes faltar
Los próximos días 4 y 5 de Junio Microsoft celebra en Madrid el evento ReMIX'07. Se trata del principal evento de Microsoft para los diseñadores y desarrolladores Web más vanguardistas. Dos días de duración, 20 sesiones en 2 tracks paralelos y los mejores ponentes nacionales e internacionales nos permitirán entablar contacto con las tecnologías más innovadoras y las nuevas oportunidades de negocio de la Web. Durante estas jornadas Microsoft, de la mano de Forest Key, director de producto de la división de servidores y herramientas de Microsoft, presentará Silverlight (Codename WPF/E).  ¿A quién va dirigido? A desarrolladores vanguardistas interesados en la construcción de sitios web con ASP y AJAX, aplicaciones para Windows Media Center, construcción de Gadgets para Windows Vista y Windows Live y mucho más A diseñadores web vanguardistas interesados en optimizar su sitio web, utilización de WPF y Silverlight (Codename WPF/E) para optimizar la experiencia de usuario más allá d... [Más]

Cambio automático de cultura en ASP.NET 2.0

Cambio automático de cultura en ASP.NET 2.0
A la hora de hacer aplicaciones multi-idioma hay muchas cosas a tener en cuenta. Entre ellas la fundamental es averiguar cuál es el idioma que desea emplear el usuario y adaptar tanto la interfaz de usuario como las otras características culturales (números, fechas, etc) al idioma elegido. Si no disponemos de una lista desplegable, unas banderitas, o algo similar para que los usuarios elijan el idioma, lo que debemos hacer es adaptarnos automáticamente al idioma elgido por éstos en su navegador (Herramientas·Opciones de Internet·General·Idioma). La lista de idiomas allí presente se envía de manera automática y transparente por el navegador (no sólo IE, sino en todos los navegadores) al servidor en forma de cabeceras HTTP con el nombre "Accept-Language". Estas cabeceras se pueden capturar en el servidor muy fácilmente, y en ASP.NET más todavía con la propiedad UserLanguages, y con ellas trabajamos para conseguir la adaptación automática al idioma. El código sería básicamente este (de... [Más]

FAQ: Al pasar al servidor de producción me deja de funcionar la seguridad y me da un error ¿por qué?

FAQ: Al pasar al servidor de producción me deja de funcionar la seguridad y me da un error ¿por qué?
Una pregunta super-frecuente que recibo tanto en los cursos de campusMVP como en eventos es la de:  "¿Por qué cuando paso mi aplicación a producción de repente me deja de funcionar todo lo que tiene que ver con Membership, Roles, etc...? De hecho obtengo un error de que no se puede conectar a la base de datos..." El problema que tienes con la base de datos es que, por defecto, el proveedor de SQL Server que viene con ASP.NET 2.0 parte de la base (equivocada generalmente) de que vas a usar SQL Server 2005 Express Edition. Esta base de datos tiene la particularidad de que es capaz de adjuntar dinámicamente archivos .MDB (de datos SQL Server), es decir, sin necesidad de adjuntarlos. Si te fijas en la carpeta App_Data de tu aplicación debes de tener un archivo ASP_NET.MDB que es el que se crea automáticamente para gestionar estos datos y luego adjuntarlo dinámicamente a la versión Express. El problema es que si usas SQL Server 2005 "completo" o una versión anterior lo de adjuntar... [Más]

¿Qué impacto tiene AJAX en los motores de búsqueda?

¿Qué impacto tiene AJAX en los motores de búsqueda?
Esta pregunta nos la han hecho repetidamente en el Developer Day de Madrid del mes pasado y en los WebDays por España adelante. Se trata de una pregunta lógica pero que al mismo tiempo no nos debería preocupar. Me explico y así de paso trato de responderla... AJAX se lleva mal con los motores de búsqueda, ya que lo que hacemos es recargar, por detrás, con JAVAScript los contenidos –totales o parciales- de la página, y por lo tanto no hay enlaces que seguir ni forma fácil de determinar el nuevo contenido. Ahora bien, todo esto es muy relativo. No vas a usar AJAX para realizar navegación simple en tu sitio Web sino para facilitar al usuario el uso de aplicaciones. Exacto, pongo "aplicaciones" en negrita. Ya que por este motivo no debería impactar apenas nada el uso de AJAX en tu posicionamiento en buscadores puesto que, al igual que antes usabas post-backs recargando la misma página (algo que tampoco se lleva bien con los buscadores obviamente) ahora emplearás AJAX para hacer la apli... [Más]

Fraccionamiento de las secciones de configuración en web.config

Fraccionamiento de las secciones de configuración en web.config
Aunque esto es algo muy poco conocido por los programadores de ASP.NET, es posible mover secciones completas de la configuración a sus propios archivos independientes de web.config. Ello se consigue usando el atributo configSource en la sección correspondiente. Por ejemplo, podemos escribir en el nodo ConnectionStrings lo siguiente: <connectionStrings configSource="conexiones.config"/> y ahora tener un archivo independiente llamado conexiones.config que contenga esa sección completa: <connectionStrings> <add name="Clientes" connectionString="..."/> <add name="Principal" connectionString="..."/> </connectionStrings> Esto puede resultar útil en muchas ocasiones. Por ejemplo, podemos cambiar más fácilmente entre los ajustes de producción y de desarrollo, manteniendo en común el resto de la configuración. Otro motivo sería proteger de manera especial esa sección y otorgarle sus propios permisos de lectura y escritura. Uno de los motivos más i... [Más]

Microsoft: no tenemos nada moderno ni a la última tecnología

Microsoft: no tenemos nada moderno ni a la última tecnología
O eso es lo que afirman si te vas a la galería de Windows Live para SideShow. Sideshow es una nueva característica incorporada a Windows Vista que permite mostrar información del sistema en dispositivos accesorios como pequeñas pantallas en la tapa de un portátil, teléfonos móviles, etc... que, vinculados con Windows y sin necesidad de que el equipo esté operativo al 100% ofrecen información sobre cosas como los correos sin leer o el nivel de batería. Una buena idea pero que no está calando demasiado. Imagino que el motivo es que no hay muchos dispositivos en el mercado capaces de sacarle partido (yo al menos no conozco ninguno). El caso es que si vas a SideShow en Vista y pulsas el botón de "Obtener más gadgets en Internet", te manda a una página en la que no hay absolutamente ningún gadget, en ninguna de las categorías existentes. Por eso, siendo un poco cabroncete, es posible hacer una captura como esta (pulsa para agrandar): Que tiene muchísima gracia, la verdad. Lo mism... [Más]

Este soy yo y este es mi blog técnico, dedicado al software y a la programación.

¡Sígueme en Twitter!

Mis otros blogs

- JM Alarcón @ campusMVP.es
Contenido técnico en español orientado a desarrolladores
- JMAlarcon.es
Blog personal no técnico: sociedad, innovación, empresa...

Krasis

- campusMVP.es:
Los mejores cursos online de programación en español

- SELF LMS:
La plataforma de elearning más potente del mercado.

Histórico