Sitio Web del poderoso ChicoDotNet

Sitio Web del poderoso ChicoDotNet es el lugar donde puedes aprender todo lo nuevo sobre desarrollo de aplicaciones para Windows, ASP .NET, SmartClient y adquirir los súper poderes que te da la mejor plataforma de creación de programas: Microsoft .NET

20090114

Novedades en Windows 7

Brevemente les comento algunas de las nuevas características de Windows 7:

  1. La barra de tareas ahora está integrada con Inicio rápido, esto significa que cuando se hace clic en algún ícono de inicio rápido este se convierte en un botón de la barra de tareas mientras se utiliza la aplicación, al cerrarse, el ícono vuelve a convertirse en un acceso directo de Inicio rápido.
  2. Las listas de destino dan una experiencia más semejante a Office SharePoint, en lugar de clasificarse la información en "carpetas", ahora se hace en listas, que guardan las preferencias de cada aplicación, por ejemplo si utilizas Word y comúnmente guardas archivos en la lista Proyectos y en Documentos hay accesos directos en el ícono de Word para interactuar con esas listas.
  3. Las barras de herramientas de vista previa son una nueva funcionalidad que te permite interactuar con una aplicación sin necesidad de restaurar o maximizar la ventana de la misma, por ejemplo, si estas usando Media Player tienes en la vista previa un botón Play, un retorceder, un avanzar y uno de control de volumen. Además, por ejemplo, si tienes 3 ventanas de Internet Explorer abiertas, Windows 7 te mostrará una vista previa de cada una cuando sitúes el cursor sobre el grupo de aplicaciones de Internet Explorer en la barra de tareas.
  4. Ahora los gadgets pueden situarse en cualquier lugar del escritorio, no solo en la barra lateral.
  5. El API de Windows 7 tiene muchas características nuevas para pantallas táctiles.

En breve volveré a postear trucos y novedades de tecnologías Microsoft.

Etiquetas: , , , , , ,

Escrito por Alfonso Lara Ramos @ 02:55 0 comentarios

Busca Novedades en Windows 7 en Technorati | Guarda Novedades en Windows 7 en Yahoo | Guarda Novedades en Windows 7 en Google Bookmarks | Envía Novedades en Windows 7 a Furl | Envía Novedades en Windows 7 a Newsvine | Guarda Novedades en Windows 7 en Ma.gnolia.com | Envía Novedades en Windows 7 a Reddit | Envía Novedades en Windows 7 a BarraPunto | Envía Novedades en Windows 7 a Digg | Envía un Meme sobre Novedades en Windows 7 | Guarda Novedades en Windows 7 en del.icio.us | Envía Novedades en Windows 7 a Fresqui | Menea Novedades en Windows 7 en Menéame

Contenidos relacionados: Google, Live Search, Tafiti, Yahoo

20080223

Windows Vista es el sistema operativo moderno con menos vulnerabilidades en su primer año de vida

Windows Vista cumplió un año en noviembre de 2007, si bien su distribución masiva se llevó a cabo hasta enero de ese mismo año desde noviembre de 2006 está en manos de los socios de negocio de Microsoft.

Lo que sigue es mi anécdota personal sobre Windows Vista, el sistema operativo más confiable que he tenido en mis manos, si quieres ir a "la carnita" de la noticia que estoy tratando haz clic aquí para ir a la parte noticiosa del post, si no pues sigue leyendo :-P.

En lo particular yo tuve acceso a Windows Vista en diciembre de 2006, cuando llegaron "los dulces" a la compañía en la que yo trabajaba en ese entonces, me acuerdo muy bien de que me tomó 3 días inventariar todo mi software, respaldar toda mi información de los últimos 15 años -ahora ya uso un array de discos en mi casa para mis cosas personales y antiguas-, que vivían en mi entonces nueva laptop HP dv2135 LA, que venía originalmente con Windows XP Professional y que compré específicamente esperando la llegada de Vista:

  • Procesador Intel Core 2 Duo @ 1.66 Ghz.
  • 2 Gb en memoria RAM @ 600 Mhz.
  • Disco duro de 120 Gb @ 7200 rpm.
  • Pantalla 15.4" WXGA @ 1280x800.
  • Multi-puertos modernos (3 USB, 1 Firewire, 1 Slot Expansion Port 3, 1 LAN 10/100 Mbps, 1 SD, 1 ExpressCard, 1 DVD-RW con tecnología LightScribe, Sonido 3D con un montón de puertos de audio).

No compré una Mac Book Pro en lugar de la HP porque el financiamiento para la laptop fue otorgado a mitad por la compañía con la que trabajaba y uno de mis dos entonces jefes, un experto en administración de proyectos de tecnología me dijo que iba a ser una lata tenerme dos meses corriendo XP en modo virtualización o pagar por la licencia sin usar de Mac OS X. Me acuerdo también que el otro de mis dos entonces jefes, un prominente gurú de tecnologías Microsoft me hizo ver que mi decisión de instalar la versión x64 de Windows Vista Ultimate en lugar de la versión x86 me iba a tomar todo un fin de semana o más para encontrar los controladores adecuados (en realidad sólo batallé por el Firewire y estaba en la página Web de Dell) pero no tuvo problema con mi pasión por la tecnología.

Pues bueno, instalé Windows Vista Ultimate x64 y luego todo el ambiente de desarrollo necesario también en versión x64, herramientas como Visual Studio Team System 2005, Microsoft SQL Server 2005 Developer Edition, Visual Source Safe 2005 y por supuesto Microsoft Office 2007 Ultimate, mis habituales herramientas de terceros que funcionaron sin problemas (La más preocupante fue mi licencia de Norton Internet Security, el antivirus que he utilizado los últimos 5 o 6 años y que acababa de renovar en octubre de 2006) y fuí el segundo de toda la compañía que lo tuvo instalado (el proceso se retasó un día porque el encargado de las licencias de software creyó que iba yo a poner la versión de 32 bits y estaba quinto en la lista de espera, cuando le dije que la de 64 bits sólo consultó con el jefe y al rato ya estaba yo instalando).

Bueno, pues si bien la puntuación total de la Evaluación de la experiencia en Windows de mi laptop es de 3.1 por culpa del chipset gráfico Intel Mobile 945 Express Chipset que me da 3.4 para Aero y 3.1 para gráficos de juego, Windows Vista sólo me ha dado un par de dolores de cabeza en más de un año de ser mi compañero de trabajo más frecuente: el primero fue el controlador Firewire y el segundo la incompatibilidad de 64 bits con el API de SharePoint, pero en general se ha mantenido con un índice de confiabilidad entre 9.24 del segundo día de uso (el primero falló la instalación del Bluetooth y de LightScribe y estuvo en 9.17) y 2.2 el día que tronó como ejote mi iPod luego de probar una versión alpha o beta, no recuerdo de Safari para Windows (qué increíble que las herramientas de monitoreo incluídas en Windows Vista me permitan platicarles toda la historia), pero en general el promedio de uso intenso que yo le doy como desarrollador mantiene la confiabilidad entre 6 y 8, que son valores que me permiten trabajar muy a gusto, aunque estoy pensando seriamente cambiar mi laptop en su cumpleaños 1.5 por una del doble de capacidad siguiendo la Ley de Moore el próximo mes de abril. Ahora la noticia:

Reporte de vulnerabilidades de Windows Vista a un año de su lanzamiento

Jeff "Security Guy" Jones quien mantiene un blog sobre seguridad informática en TechNet y que es el director estratégico en el Microsoft Security Technology Unit publicó un reporte de vulnerabilidades. Este trabajo analiza la divulgación de las vulnerabilidades y actualizaciones de seguridad para el primer año de Windows Vista y las analiza en el contexto de su predecesor, Windows XP, junto con otros sistemas operativos modernos de trabajo como Red Hat, Ubuntu y productos de Apple y Novell.

Los resultados del análisis muestran que el perfil de vulnerabilidad gracias a las mejoras de la seguridad de Windows Vista es mejor que el de su predecesor. El análisis de las actualizaciones de seguridad de Microsoft también pone de manifiesto que las mejoras en el proceso de actualización de seguridad y el proceso de desarrollo han reducido el impacto de las actualizaciones de seguridad de Windows a los administradores de manera significativa en comparación con su predecesor, Windows XP.

El reporte puedes descargarlo en formato PDF desde el blog de Jeff Jones o en el enlace siguiente en TechNet: Windows Vista One Year Vulnerability Report.

Etiquetas: , , , , , , ,

Windows Vista es el sistema operativo moderno con menos vulnerabilidades en su primer año de vida

Escrito por Alfonso Lara Ramos @ 07:00 0 comentarios

Busca Windows Vista es el sistema operativo moderno con menos vulnerabilidades en su primer año de vida en Technorati | Guarda Windows Vista es el sistema operativo moderno con menos vulnerabilidades en su primer año de vida en Yahoo | Guarda Windows Vista es el sistema operativo moderno con menos vulnerabilidades en su primer año de vida en Google Bookmarks | Envía Windows Vista es el sistema operativo moderno con menos vulnerabilidades en su primer año de vida a Furl | Envía Windows Vista es el sistema operativo moderno con menos vulnerabilidades en su primer año de vida a Newsvine | Guarda Windows Vista es el sistema operativo moderno con menos vulnerabilidades en su primer año de vida en Ma.gnolia.com | Envía Windows Vista es el sistema operativo moderno con menos vulnerabilidades en su primer año de vida a Reddit | Envía Windows Vista es el sistema operativo moderno con menos vulnerabilidades en su primer año de vida a BarraPunto | Envía Windows Vista es el sistema operativo moderno con menos vulnerabilidades en su primer año de vida a Digg | Envía un Meme sobre Windows Vista es el sistema operativo moderno con menos vulnerabilidades en su primer año de vida | Guarda Windows Vista es el sistema operativo moderno con menos vulnerabilidades en su primer año de vida en del.icio.us | Envía Windows Vista es el sistema operativo moderno con menos vulnerabilidades en su primer año de vida a Fresqui | Menea Windows Vista es el sistema operativo moderno con menos vulnerabilidades en su primer año de vida en Menéame

Contenidos relacionados: Google, Live Search, Tafiti, Yahoo

20071227

Microsoft anuncia Windows Server 2008 Hyper-V

El esperado Windows Server 2008 está ofreciendo sus mejores adelantos. Clientes y socios disponen de una versión beta de su tecnología de virtualización de servidor basada en hipervisor, denominada Hyper-V.

Se trata de Windows Server 2008 RC1 Enterprise con la versión beta de Hyper-V para evaluar la nueva tecnología, probar las aplicaciones y planear sus proyectos de consolidación, continuidad empresarial y alta disponibilidad. La versión beta estaba programada para entregarse en el primer trimestre del 2008 con la versión para fabricación (RTM) de Windows Server 2008 y se puede descargar desde aquí.

"La entrega anticipada de la versión beta de Hyper-V permite a nuestros clientes y socios comenzar a evaluar esta característica en Windows Server 2008, lo que nos brindará una retroalimentación valiosa conforme avanzamos hacia la versión final", comenta Bill Laing, gerente General de la División Windows Server en Microsoft. "Además de Hyper-V, Windows Server 2008 ofrece programas de licencia económicos y flexibles para que los clientes y los socios puedan incrementar los ahorros que perciben con la consolidación de sus servidores y obtener un ambiente de TI dinámico".

La versión beta de Windows Server 2008 con Hyper-V ya está disponible para x64 Enterprise Edition en inglés. Esta versión beta ofrece a los clientes y los socios una nueva variedad de características y capacidades que no estaban disponibles en la Community Technology Preview de Hyper-V de septiembre de 2007, tales como Quick Migration, alta disponibilidad, desempeño Server Core e integración de Server Manager.

Como característica de Windows Server 2008, Hyper-V está diseñada para ofrecer a una extensa selección de clientes un software de infraestructura de virtualización conocido y económico capaz de ayudarlos a reducir los costos operativos, incrementar el uso del hardware, optimizar la infraestructura y mejorar la disponibilidad del servidor.

Microsoft también se encuentra desarrollando la próxima versión del System Center Virtual Machine Manager para ofrecer una administración integrada de los ambientes físicos y virtuales. Los clientes podrán aprovechar esta herramienta de administración integrada para abastecer y configurar con rapidez las nuevas máquinas virtuales y administrar de manera centralizada la infraestructura virtual que opera en Hyper-V, Microsoft Virtual Server 2005 R2, VMware ESX Server y Virtual Infrastructure 3.

Etiquetas: , , , , ,

Microsoft anuncia Windows Server 2008 Hyper-V

Escrito por Alfonso Lara Ramos @ 18:00 0 comentarios

Busca Microsoft anuncia Windows Server 2008 Hyper-V en Technorati | Guarda Microsoft anuncia Windows Server 2008 Hyper-V en Yahoo | Guarda Microsoft anuncia Windows Server 2008 Hyper-V en Google Bookmarks | Envía Microsoft anuncia Windows Server 2008 Hyper-V a Furl | Envía Microsoft anuncia Windows Server 2008 Hyper-V a Newsvine | Guarda Microsoft anuncia Windows Server 2008 Hyper-V en Ma.gnolia.com | Envía Microsoft anuncia Windows Server 2008 Hyper-V a Reddit | Envía Microsoft anuncia Windows Server 2008 Hyper-V a BarraPunto | Envía Microsoft anuncia Windows Server 2008 Hyper-V a Digg | Envía un Meme sobre Microsoft anuncia Windows Server 2008 Hyper-V | Guarda Microsoft anuncia Windows Server 2008 Hyper-V en del.icio.us | Envía Microsoft anuncia Windows Server 2008 Hyper-V a Fresqui | Menea Microsoft anuncia Windows Server 2008 Hyper-V en Menéame

Contenidos relacionados: Google, Live Search, Tafiti, Yahoo

20071207

Ciclo de vida de la depuración de aplicaciones

1. - Reproduce el error

Paso 1: Reproduce el error. - Esto puede parecer muy básico, pero para entender y en consecuencia ser capáz de corregir el error debes poder reproducirlo, entendiendo cuáles son las variables que están involucradas, en qué condiciones se lleva a cabo y entonces será posible empezar a trabajar en la depuración de errores de tu aplicación. Es sorprendente cuántas veces nos podemos encontrar con ingenieros de pruebas, desarrolladores e incluso arquitectos que te platican acerca de un bug que les salió pero que ya no pueden reproducir y más sorprendente aún es cuántas aplicaciones salen a producción con estos errores que no se corrigieron simplemente porque no era posible reproducirlos en la fase de desarrollo y pruebas. Una situación común es que funcione bien en tu máquina de desarrollo pero en en ambiente de pruebas el software no funcione correctamente. (¿Cuántos ingenieros se necesitan para determinar que la URL de su aplicación ASP.NET apuntaba a http://localhost/?).

2. - Describe el errorr

Paso 2: Describe el error. - Una vez que haz logrado reproducir el error es importante documentarlo adecuadamente, si no pudieras corregirlo en éste momento al menos puedes ayudar a que otro miembro del equipo pueda entender de que se trata el error para que posteriormente pueda trabajar en él, mientras mejor describas el error es más sencillo que puedas depurarlo de forma adecuada para corregirlo. Es también importante este tipo de documentación para efectos de errores que pudieran repetirse en futuras aplicaciones como guía para trabajar con patrones y antipatrones de diseño que eviten las malas prácticas.

3. - Siempre asume que el error es tuyo

Paso 3: Siempre asume que el error es tuyo. - Primero échale una mirada a tu código, la mayor parte de las veces puedes gastar demasiado tiempo analizando el código de otros cuando en realidad el problema se encuentra en el órden de las instrucciones que tu mismo escribiste o en la forma de hacer un llamado a otra clase o interfase desde tu propio código, una vez descartado esto puedes empezar a revisar lo que pasa en otras partes de la aplicación.

4. - Divide y vencerás

Paso 4: Divide y vencerás. - Trata distintos caminos, lee el código, trata de re-programar cada una de las acciones que el código realiza, es más fácil que dividiendo las funciones y subfunciones encuentres el error en tu código que si simplemente te pones a revisarlo como un todo, sobre todo toma en cuenta la regla del 80-20: el 80% de los errores es causado por el 20% de los elementos que intervienen en un proceso.

5. - Piensa en forma creativa

Paso 5: Piensa en forma creativa. - ¿El error puede ser causado por algo que se te pasó? ¿Tienen algo que ver las versiones de tus aplicaciones totalmente actualizadas en la máquina de desarrollo contra el servidor de pruebas que nadie actualiza? ¿Qué tanto de tu código está "hardcodeado" y podría no corresponder al ambiente de pruebas? ¿Se te ocurrió poner una condición AND en un IF en lugar de anidarlas? ¿Te faltó un ELSE?

6. - Utiliza herramientas

Paso 6: Utiliza herramientas. - Hay muchas herramientas para ayudarte a depurar una vez que llegas a este paso, desde el mismo Visual Studio hasta las herramientas de IBM-Rational, Compuware y Quest, pasando por NUnit, TestDriven.NET, FxCop, .NET Memory Profiler, y CLRProfiler.

7. - Inicia la depuración pesada

Paso 7: Inicia la depuración pesada. - Cuando empiezas a utilizar herramientas ya debes tener una idea del tipo de error que estás buscando, localizarlo y acabar con él. La diferencia entre esta depuración con la depuración ligera es que al tener ya una idea de lo que estás buscando y auxiliarte con una herramienta adecuada ya no estás sólo rastreando un error a ciegas, puedes ver valores de entrada y salida y en general es en este punto donde tus hipótesis de lo que está fallando se desmienten o se corroboran, ayudándote a programar una solución adecuada.

8. - Verifica que el error haya sido corregido

Paso 8: Verifica que el error haya sido corregido. - Antes de decir: "Esto ya quedó" lo más correcto es como todo en la ingeniería: revisa que realmente haya quedado, Muchas veces la corrección de un bug te hace darte cuenta de otros más que estaban por ahí escondidos, vuelve al paso 1 y si todo ha quedado entonces ahora sí dale proteger a tu control de código fuente.

9. - Aprende y comparte

Paso 9: Aprende y comparte. - Platica el error y la solución con el equipo, es la mejor manera de que ellos compartan contigo otros conocimientos que vayan adquiriendo, termina la documentación del error con la solución encontrada, siempre es bueno terminar la depuración de tu código de esta manera para mejorar la forma en la que vas desarrollando tu código y el del resto del equipo.

Etiquetas: , , , , , , ,

Ciclo de vida de la depuración de aplicaciones

Escrito por Alfonso Lara Ramos @ 22:00 0 comentarios

Busca Ciclo de vida de la depuración de aplicaciones en Technorati | Guarda Ciclo de vida de la depuración de aplicaciones en Yahoo | Guarda Ciclo de vida de la depuración de aplicaciones en Google Bookmarks | Envía Ciclo de vida de la depuración de aplicaciones a Furl | Envía Ciclo de vida de la depuración de aplicaciones a Newsvine | Guarda Ciclo de vida de la depuración de aplicaciones en Ma.gnolia.com | Envía Ciclo de vida de la depuración de aplicaciones a Reddit | Envía Ciclo de vida de la depuración de aplicaciones a BarraPunto | Envía Ciclo de vida de la depuración de aplicaciones a Digg | Envía un Meme sobre Ciclo de vida de la depuración de aplicaciones | Guarda Ciclo de vida de la depuración de aplicaciones en del.icio.us | Envía Ciclo de vida de la depuración de aplicaciones a Fresqui | Menea Ciclo de vida de la depuración de aplicaciones en Menéame

Contenidos relacionados: Google, Live Search, Tafiti, Yahoo

20070901

Como cambiar tu dirección IP desde la línea de comandos

Mientras estás desarrollando y probando es importante a veces cambiar tu dirección IP y luego regresar a tu dirección normal DHCP. Hacerlo a mano es tedioso y te lleva mcho tiempo pero Windows tiene un comando shell que te permite hacerlo de manera sencilla: NETSH.

NETSH tiene muchas funcionalidades que puedes encontrar con la opción /?, pero volviendo al tema para hacer el cambio de forma sencilla necesitas el comando NET INTERFACE IP.

Por ejemplo: para mostrar la información de tu IP actual utilizarías:

C:\>netsh interface ip show addresses

Para cambiar tu IP a dinámica (DHCP) utilizarías la siguiente sintaxis:

C:\>netsh interface ip set address name="Local Area Connection" source=dhcp

Donde sustituyes Local Area Connection con el nombre de tu conexión.

Y para hacerla estática utilizarías:

C:\>netsh interface ip set address "Local Area Connection" static xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx x

Donde sustituyes Local Area Connection con el nombre de tu conexión y las x con valores separados por espacios y donde el primer valor es tu nueva IP estática, el segundo la máscara de subred, el tercero la puerta de enlace predeterminada y el cuarto la métrica.

Etiquetas: , , , ,

Escrito por Alfonso Lara Ramos @ 13:40 0 comentarios

Busca Como cambiar tu dirección IP desde la línea de comandos en Technorati | Guarda Como cambiar tu dirección IP desde la línea de comandos en Yahoo | Guarda Como cambiar tu dirección IP desde la línea de comandos en Google Bookmarks | Envía Como cambiar tu dirección IP desde la línea de comandos a Furl | Envía Como cambiar tu dirección IP desde la línea de comandos a Newsvine | Guarda Como cambiar tu dirección IP desde la línea de comandos en Ma.gnolia.com | Envía Como cambiar tu dirección IP desde la línea de comandos a Reddit | Envía Como cambiar tu dirección IP desde la línea de comandos a BarraPunto | Envía Como cambiar tu dirección IP desde la línea de comandos a Digg | Envía un Meme sobre Como cambiar tu dirección IP desde la línea de comandos | Guarda Como cambiar tu dirección IP desde la línea de comandos en del.icio.us | Envía Como cambiar tu dirección IP desde la línea de comandos a Fresqui | Menea Como cambiar tu dirección IP desde la línea de comandos en Menéame

Contenidos relacionados: Google, Live Search, Tafiti, Yahoo

20070701

Lista de verificación para desarrolladores Web en IE7

Ha pasado en innumerables ocasiones: recolectas, aprendes y documentas las reglas de negocio, acuerdas una fecha de entrega con tu cliente, desarrollas tu software y corre a la perfección en tu computadora y la del resto de tu equipo. Llega el momento de subir al hosting la aplicación que creaste o de subirla a pruebas en los servidores internos del cliente... ¡Y te reportan que no funciona!

Y no es que hayas hecho las cosas mal: Lo que pasa es que algo faltó. Y es por eso que esta lista de verificación para desarrolladores Web espero que te sea muy útil. Si no te falta ningún paso y tu aplicación está funcionando como debe de ser del lado del código este penoso problema no volverá a sucederte.

Verificación número 1: Verificar la versíon del navegador o emularla

Si tu aplicación requiere que el navegador tenga ciertas características de versión para ejecutarse correctamente debes asegurarte de que detecte correctamente el tipo de navegador que se está utilizando, esto se hace verificando el agente de usuario que está llamándola. En todo caso a pesar de que cada que Internet Explorer libera una nueva versión, Microsoft trata de coordinar el cambio con los fabricantes de software hay aplicaciones legadas que no detectarán correctamente la versión del agente de usuario ya que la rutina que realiza la detección comúnmente está por código duro. Si utilizas la detección del lado del servidor usando .NET no deberías tener este problema. Las versiones de agente de usuario más comunes que se envían por ejemplo para IE7 son las siguientes:

  • En Windows XP SP2: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)
  • En Windows 2003 Server: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2)
  • En Windows Vista: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)

En caso de que tengas una aplicación legada de ASP, PHP, Java, Colfusion, etc. puedes solucionar el despliegue de IE7 en tu red o sitio Web poniendo una liga a la descarga de la herramienta de cadena de agente de usuario que cambia algunas cadenas de registro temporalmente para emular a IE6, de cualquier modo no olvides hacer la verificación con la rutina que usas habitualmente pero agregando las cadenas que te mencioné anteriormente.

Verificación número 2: Verificar compatibilidad de hojas de estilo CSS en varios navegadores

Desafortunadamente no todos los agentes de usuario tienen la misma forma de interpretar el XHTML o el CSS, esto está cambiando gradualmente pero es posible que tus menús interactivos basados en AJAX + CSS no funcionen igual en todos los navegadores por esta misma razón. Ten cuidado con el control Panel por ejemplo ya que para seguir los estándares IE7 ahora respeta el tamaño indicado en tus hojas de estilo en lugar de adaptarlas como lo hacía la versión 6. Un artículo sobre compatibilidad de hojas de estilo en IE7 lo puedes encontrar en MSDN.

Verificación número 3: Probar el modo protegido de Windows Vista

El modo protegido es una característica de seguridad nueva en IE7, su finalidad es proteger a los usuarios de ser atacados al correr procesos de IE reduciendo la funcionalidad de escribir, alterar o destruir datos en el equipo que utiliza Internet Explorer con código malicioso. Este modo de ejecución aprovecha las nuevas características de seguridad de Windows Vista tales como:

  • User Access Control (UAC). - Evita que las aplicaciones se ejecuten con privilegios de administrador si tu permiso.
  • Mecanismo de integridad (IM). - Restringe la escritura a objetos que comprometerían la integridad del sistema operativo restringiendo el nivel de acceso de procesos, Internet Explorer se ejecuta desde una capa de seguridad restringida para evitar que dispare procesos que puedan generar ataques de esta índole.
  • User Interface Provilege Isolation (UIPI) que previene que los procesos de integridad baja envíen mensajes a otros API's de usuario que se ejecuten con una integridad más alta.

Para aprender cómo desarrollar para que no tengas problemas para estas restricciones puedes leer los documentos "Entendiendo y trabajando con el modo protegido de Internet Explorer" y "Mejores prácticas y guías para desarrolladores en aplicaciones que corren en un ambiente de bajos privilegios".

Si utilizas aplicaciones que utilizan SSL 2.0, TLS 1.0 o ActiveX puedes ver afectado el funcionamiento de tus aplicaciones por cuestiones de seguridad por la configuración por defecto de IE7, la razón de que estas configuraciones sean deshabilitadas se explica en el documento "SSL, TLS y un poco de ActiveX: Cómo IE7 genera un balance entre seguridad y compatibilidad", el soporte ahi sigue pero lo recomendable es actualizarse o avisar al usuario acerca de estas configuraciones.

Verificación número 4: Utilización de certificados y rutas de acceso válidos

Para evitar que tus aplicaciones se vean afectadas por el filtro Anti Phising, utiliza certificados válidos y apunta los hipervínculos que vayan a páginas seguras con la ruta de los mismos, es común ver aplicaciones que no parametrizan la ruta de acceso o no la hacen dinámica cuando están diseñadas para correr en determinado directorio tienen internamente llamados a "localhost", obviamente esto es un bug que hace que mucha gente se rasque la cabeza cuando se trata de salir a producción ya que las aplicaciones Web pueden entrar en un bucle de redirecciones infinitas tratando de buscar en Internet o en la Intranet al famoso servidor localhost.

Verificación número 5: Activación de controles ActiveX

Muchos usuarios se confunden cuando tratan de interactuar con controles ActiveX en las aplicaciones Web, ya que estos están desactivados por defecto por cuestiones de seguridad, puedes realizar la activación programática de tus controles utilizando scripting, aún así hay algunos eventos de DHTML a los que los controles ActiveX no tienen acceso, una guía de activación de controles ActiveX la puedes encontrar en MSDN.

Verificación número 6: Transparencia de archivos PNG

Cuida el modo de rendereo de tus archivos PNG al generarlos para verificar que las zonas alfa efectivamente sean tansparentes en diversos navegadores, la recomendación es utilizar profundidad de color de 24 bits.

Verificación número 7: Compatibilidad con las normas de W3C

Utiliza algún explorador DOM como por ejemplo el que se incluye en la Internet Explorer Developer Toolbar para el diseño de tus páginas, también puedes usar la ventana de Esquema de documento de Visual Studio para asegurarte de que cierras todas las etiquetas, utiliza también la verificación de accesibilidad y finalmente pasa el resultado de tus páginas (el HTML generado) por el validador de W3C.

Etiquetas: , , , , , , , ,

Escrito por Alfonso Lara Ramos @ 06:30 0 comentarios

Busca Lista de verificación para desarrolladores Web en IE7 en Technorati | Guarda Lista de verificación para desarrolladores Web en IE7 en Yahoo | Guarda Lista de verificación para desarrolladores Web en IE7 en Google Bookmarks | Envía Lista de verificación para desarrolladores Web en IE7 a Furl | Envía Lista de verificación para desarrolladores Web en IE7 a Newsvine | Guarda Lista de verificación para desarrolladores Web en IE7 en Ma.gnolia.com | Envía Lista de verificación para desarrolladores Web en IE7 a Reddit | Envía Lista de verificación para desarrolladores Web en IE7 a BarraPunto | Envía Lista de verificación para desarrolladores Web en IE7 a Digg | Envía un Meme sobre Lista de verificación para desarrolladores Web en IE7 | Guarda Lista de verificación para desarrolladores Web en IE7 en del.icio.us | Envía Lista de verificación para desarrolladores Web en IE7 a Fresqui | Menea Lista de verificación para desarrolladores Web en IE7 en Menéame

Contenidos relacionados: Google, Live Search, Tafiti, Yahoo

20070527

Los 10 errores de seguridad más comunes en ASP .NET

A continuación les enumeraré los 10 errores más comunes que se cometen cuando desplegamos una aplicación ASP.NET, les explico la razón por la que esos errores pueden ser peligrosos y les indico la manera más adecuada de corregirlos. Espero que les sea de utilidad:

  1. Custom Errors deshabilitado. En el archivo Web.config de nuestras aplicaciones ASP.NET la etiqueta custom Errors se encuentra comentada por defecto cuando creamos una nueva aplicación, esto deja el valor RemoteOnly por defecto. Sin embargo muchas veces cuando estamos probando el software en un servidor remoto hay ocasiones en las que por comodidad dejamos el valor en Off, esto permite a todos los usuarios que ingresan a las páginas de la aplicación enterarse de los errores que suceden en la aplicación, al momento de depurar. Sin embargo esto no es bueno al momento de desplegar, puesto que cualquiera puede también ver pedazos de código cuando hay alguna falla. Lo más adecuado es prender la opción, lo cual puedes aprovechar para mostrar errores más amigables al usuario, esto incluso te sirve para optimizar para buscadores ;-). Un ejemplo de cómo prender esta opción es el siguiente:
    <customErrors mode="On">
    <error statusCode="404" redirect="default.aspx" />

    </customErrors>
  2. Dejar habilitado el seguimiento de la página. El seguimiento de página (tracing) normalmente se encuentra apagado, sin embargo también por cuestiones de depuración puede encenderse, la forma más sencilla es hacerlo en el archivo que estemos trabaando utilizando la etiqueta Trace en la declaración de página del formulario en el que estamos trabajando, sin embargo una buena práctica es hacerlo de modo sólo local (por si necesitamos que el seguimiento esté de todos modos encendido) desde el archivo Web.config y luego apagarlo al desplegar, hacerlo de esta manera encenderá el seguimiento en todos los formularios del proyecto y evitará que se nos olvide apagarlo, lo haces con la etiqueta trace de la siguiente manera:
    <trace enabled="true" traceMode="SortByTime" localOnly="true" />
  3. Depuración habilitada. Tener esta opción habilitada, afecta al rendimiento de la aplicación, muestra errores más detallados y sólo debe encenderse mientras estamos desarrollando precisamente para el proceso de depuración, la forma correcta de desplegar es dejando en el archivo Web.config la opción de depuración apagada, otra buena práctica en el caso de las aplicaciones ASP.NET creadas con Visual Basic es dejar las opciones explicit y strict encendidas, de este modo hacemos código mejor construído (léase 100 veces: no garantiza que perfectamente construído, pero ayuda). La forma de configurar esto es de la siguiente manera:
    <compilation debug="true" strict="true" explicit="true"/>
  4. Cookies suplantables. Los hackers pueden realizar ataques de XSS (Cross Site Scripting) cuando las cookies son accesibles del lado del cliente, intentan este tipo de ataques cuando se encuentran por ejemplo con saludos del tipo Hola ChicoDotNet en las páginas en la que se inicia sesión agregando su propio código del lado del cliente. Esto puedes dificultarlo fácilmente -valga la redundancia- cuando enciendes las cookies HttpOnly, esto se hace de la siguiente forma:
    <httpCookies httpOnlyCookies="true" />
  5. Sesión sin cookies. Para hacer disponible una aplicación a los clientes que no aceptan cookies se tiene la opción de colocar la sesión en la URL, muchos las utilizan por defecto para no complicarse asignando a la etiqueta sessionState el atributo cookieless con el valor UseUri, sin embargo esto abre la posibilidad de suplantar a un usuario determinado visitando la dirección que contiene la sesión, esto puedes evitarlo almacenando la sesión en una cookie que expire pronto, pero queda el problema de los clientes que no aceptan cookies, para ellos necesitas enviar la sesión en la URL, ¿Cómo resolver eso?, enciende la autodetección, eso hará que los clientes que las acepten las usen y los que no las reciban en la URL, se hace con el siguiente código en Web.config:
    <sessionState cookieless="AutoDetect" />
  6. No emitir cookies seguras. Las cookies seguras se emiten utilizando SSL, esto hace que la transmisión se realice en forma encriptada, para configurar SSL en IIS puedes ver el artículo en MSDN que te indica como hacerlo en IIS 6.0, en el caso de IIS 7.0 es mucho más sencillo como ya había mencionado anteriormente. Para la configuración de la transmisión de las cookies por medio de SSL utiliza el siguiente código:
    <authentication mode="Forms">
    <forms requireSSL="true" />
    </authentication>
  7. Sesiones alargables. Para alargar el tiempo de expiración de una sesión se utiliza el atributo slidingExpiration de la etiqueta forms, esto da mayor tiempo a los hackers para suplantar a un usuario determinado, la recomendación es dejarlo como se indica a continuación:
    <forms slidingExpiration="true" />
    .
  8. Uso de cookies de autenticación por defecto. El nombre por defecto de una cookie de autenticación es .ASPXAUTH, una buena práctica es nombrar estas de manera distinta, por ejemplo utilizando un GUID, de esta manera evitamos que alguien que se firme en una aplicación del servidor y pueda modificar la cookie para firmarse en otra utilizando la primera cookie obtenida. Este valor se pondría en el lugar que indico a continuación:
    <authentication mode="Forms">
    <forms name="{80aae8ec-cee2-46bc-ba57-eb89cd3db488}" requireSSL="true" />
    </authentication>
  9. Paso de variables por URL. El uso de Request.Querystring("variable") para operaciones de negocios debe ser evitado, sobre todo si se trata de información sensible, se debe preferir el uso de variables de sesión o de ViewState, de otro modo cualqueir persona con algo de conocimientos de programación podría hacer ataques de XSS o de SQL injection.
  10. Credenciales o cadenas de conexión en Web.config. Esto es lo más común de la lista, debe evitarse a toda costa el guardar usuarios y contraseñas en etiquetas credentials y cadenas de conexión o configuraciones de aplicación en Web.config sin antes cifrarlas adecuadamente. O. K., IIS evita la descarga de estos archivos de forma remota, pero ¿Qué me dicen de los del hosting? Hay que tener mucho cuidado con esto.

Etiquetas: , , , , , , , ,

Escrito por Alfonso Lara Ramos @ 06:25 0 comentarios

Busca Los 10 errores de seguridad más comunes en ASP .NET en Technorati | Guarda Los 10 errores de seguridad más comunes en ASP .NET en Yahoo | Guarda Los 10 errores de seguridad más comunes en ASP .NET en Google Bookmarks | Envía Los 10 errores de seguridad más comunes en ASP .NET a Furl | Envía Los 10 errores de seguridad más comunes en ASP .NET a Newsvine | Guarda Los 10 errores de seguridad más comunes en ASP .NET en Ma.gnolia.com | Envía Los 10 errores de seguridad más comunes en ASP .NET a Reddit | Envía Los 10 errores de seguridad más comunes en ASP .NET a BarraPunto | Envía Los 10 errores de seguridad más comunes en ASP .NET a Digg | Envía un Meme sobre Los 10 errores de seguridad más comunes en ASP .NET | Guarda Los 10 errores de seguridad más comunes en ASP .NET en del.icio.us | Envía Los 10 errores de seguridad más comunes en ASP .NET a Fresqui | Menea Los 10 errores de seguridad más comunes en ASP .NET en Menéame

Contenidos relacionados: Google, Live Search, Tafiti, Yahoo

20070505

El depurador de Visual Studio 2005

Algunas de las cosas interesantes que puedes aprovechar de Visual Studio 2005 cuando estás depurando tus aplicaciones son las siguientes:

  • Editar y continuar. - Puedes tener tus aplicaciones ejecutándose en modo de depuración y cambiar algún detalle del código sin necesidad de parar la depuración. Esto es muy útil porque en aplicaciones muy grandes no tienes que esperar a que se compile una y otra vez. Esto resulta sumamente útil para hacer tus pruebas de software.
  • Depuración remota más sencilla. - ¿Sabías que si tienes la versión Professional o Team System de Visual Studio 2005 puedes depurar tus aplicaciones en forma remota simplemente copiando un archivo ejecutable en el equipo remoto? Aquí tienes un útil artículo en MSDN para configurar la depuración remota.
  • Visualizadores. - Si necesitas ver la información de una variable mientras estás depurando, puedes hacerlo en formato XML, HTML, en la ventana Inspección o en la ventana Información sobre datos, incluso puedes ponerte geek y escribir tu propio visualizador.
  • Depuración de tu propio código únicamente. - Esta es muy útil si en tu organización no están usando Team System y tienes un compañero que sube código que nada más no compila (invítalo a este sitio Web). La configuración de sólo mi código es muy sencilla.
  • Puntos de interrupción configurables. - Si especificas condiciones en las que el punto de interrupción no debe detenerse, debe imprimir un mensaje, o ejecutar una macro de Visual Studio verás que tu desarrollo se agiliza en muchas ocasiones sin que necesites cambiarlos para cada una de tus pruebas.
  • Ventana de procesos. - Esta nueva ventana te indica a que procesos, subprocesos y equipos está asociada tu aplicación, de este modo no pasarás por el vergonzoso detallito ese de "es que estaba apuntando al servicio Web que no era".
  • Ayudante para excepciones. - Olvídate de las horas de investigación extra cuando usas un método por primera vez y no le pasaste los parámetros como eran, el ayudante para excepciones te sugiere correcciones a tu código, funciona con Visual C#, Visual Basic y Visual J#.

Depurar es lo que más hacemos cuando desarrollamos aplicaciones, afortunadamente esto se ha simplificado mucho con Visual Studio 2005. Espero que este artículo les sea útil. ¡Feliz codificación!

Etiquetas: , ,

Escrito por Alfonso Lara Ramos @ 10:30 0 comentarios

Busca El depurador de Visual Studio 2005 en Technorati | Guarda El depurador de Visual Studio 2005 en Yahoo | Guarda El depurador de Visual Studio 2005 en Google Bookmarks | Envía El depurador de Visual Studio 2005 a Furl | Envía El depurador de Visual Studio 2005 a Newsvine | Guarda El depurador de Visual Studio 2005 en Ma.gnolia.com | Envía El depurador de Visual Studio 2005 a Reddit | Envía El depurador de Visual Studio 2005 a BarraPunto | Envía El depurador de Visual Studio 2005 a Digg | Envía un Meme sobre El depurador de Visual Studio 2005 | Guarda El depurador de Visual Studio 2005 en del.icio.us | Envía El depurador de Visual Studio 2005 a Fresqui | Menea El depurador de Visual Studio 2005 en Menéame

Contenidos relacionados: Google, Live Search, Tafiti, Yahoo

20070501

Cuarto mapa del sitio

Este es el Primer mapa del sitio (De .NET Básico a BizTalk Server), otros mapas los puedes encontrar en las siguientes ubicaciones:

Etiquetas: , , , , , , , , ,

Escrito por Alfonso Lara Ramos @ 12:04

Busca Cuarto mapa del sitio en Technorati | Guarda Cuarto mapa del sitio en Yahoo | Guarda Cuarto mapa del sitio en Google Bookmarks | Envía Cuarto mapa del sitio a Furl | Envía Cuarto mapa del sitio a Newsvine | Guarda Cuarto mapa del sitio en Ma.gnolia.com | Envía Cuarto mapa del sitio a Reddit | Envía Cuarto mapa del sitio a BarraPunto | Envía Cuarto mapa del sitio a Digg | Envía un Meme sobre Cuarto mapa del sitio | Guarda Cuarto mapa del sitio en del.icio.us | Envía Cuarto mapa del sitio a Fresqui | Menea Cuarto mapa del sitio en Menéame

Contenidos relacionados: Google, Live Search, Tafiti, Yahoo

Lecturas recomendadas


Suscripciones

Impulsado por FeedBurner
Impulsado por Feedburner
Suscríbete a ChicoDotNet utilizando Google Suscríbete a ChicoDotNet utilizando netomat Hub Suscríbete a ChicoDotNet utilizando Plusmo Suscríbete a ChicoDotNet utilizando Newsburst Suscríbete a ChicoDotNet utilizando Attensa Suscríbete a ChicoDotNet utilizando My Yahoo Suscríbete a ChicoDotNet utilizando NewsGator Suscríbete a ChicoDotNet utilizando netvibes Suscríbete a ChicoDotNet utilizando The Free Dictionary Suscríbete a ChicoDotNet utilizando Bitty Suscríbete a ChicoDotNet utilizando Excite MIX Suscríbete a ChicoDotNet utilizando Pluck Suscríbete a ChicoDotNet utilizando Webwag Suscríbete a ChicoDotNet utilizando podnova Suscríbete a ChicoDotNet utilizando ZapTXT Suscríbete a ChicoDotNet utilizando NewsAlloy Suscríbete a ChicoDotNet utilizando flurry Suscríbete a ChicoDotNet utilizando Pageflakes Suscríbete a ChicoDotNet utilizando ODEO Suscríbete a ChicoDotNet utilizando PodcastReady Suscríbete a ChicoDotNet utilizando Bloglines Suscríbete a ChicoDotNet utilizando My AOL Suscríbete a ChicoDotNet utilizando Rojo

Portal de contenidos impulsado por Blogger | Ejemplos de código impulsados por ASP .NET 2.0 | Sindicación Atom válida | Sindicación RSS 2.0 válida | ChicoDotNet es un portal impulsado por Aynkia Desarrollo: Aplicaciones Web, Windows y Smart Client | ©© Algunos derechos reservados 2006 Aynkia Systems Consultores. El contenido de este sitio Web está regulado por una licencia Creative Commons Attribution 2.5 License

Ranking de ChicoDotNet en Blogalaxia

Obtén vistas previas utilizando Snap.com