RSS 2.0 Atom 1.0 CDF  
JASoft.org - Desarrollo Web
El blog de José Manuel Alarcón Aguín. Programación .NET y mucho más...
 

Esta es una cuestión bastante habitual y es que es muy útil, siendo administrador de una aplicación, poder entrar como cualquier otro usuario para ver lo mismo que éste ve y poder hacer cosas en su nombre. Sobre todo a la hora de dar soporte técnico, poder atender mejor a los usuarios, ayudarles o detectar posibles problemas en sus cuentas.

La idea es la de poder entrar haciéndonos pasar por otros usuarios, como si fuésemos ellos, pero sin conocer sus credenciales. El otro día un alumno de mi curso de Desarrollo Web con ASP.NET me preguntó  precisamente esto, por lo que me he decidido a grabar un vídeo práctico explicando como hacerlo.

Como verás es muy fácil, pero interesante. Dejo el vídeo a continuación y te recomiendo que, antes, te leas este post que escribí hace tiempo sobre el funcionamiento de las cookies de autenticación.

¡Espero que te resulte útil!

Nota: Si el vídeo no se ve vete directamente al original aquí.

Por: José Manuel Alarcon | Sunday, July 11, 2010 11:44:48 AM (Hora de verano romance, UTC+02:00)  #    Comments [1] - Trackback
Tags: ASP.NET | Desarrollo Web | Seguridad



Sígueme en:

:: Twitter JM Alarcón: tecnología, marketing, este blog y frikadas varias
:: Twitter campusMVP: los mejores recursos sobre tecnología Microsoft: trucos, artículos, noticias, vídeos...
:: Facebook campusMVP: los mismos mejores recursos pero en directamente en Facebook.
:: Boletín campusMVP Nuestra publicación electrónica, una vez al mes en tu buzón de correo.
 
Banner

Estos días, salvo que hayas estado debajo de una piedra encerrado, te habrás hartado de oir hablar de WebMatrix, desde que lo presentó Scott Guthrie hace nada.

He estado probando Webmatrix con unas semanas de antelación a ese anuncio gracias a estar en el grupo de "Insiders" de ASP.NET en Microsoft. Mi primera reacción cuando lo vi fue: "Dioss! que porquería: esto va a crear muchos bodrios por ahí". Y la verdad es que si eres un programador experimentado con ASP.NET WebForms o con ASP.NET MVC, Webmatrix y su nueva sintaxis Razor no creo que te aporten gran cosa o que te vayan a interesar de entrada. Pero luego realmente te das cuenta de lo interesante que es una herramienta como esta para otro perfil de programadores: aquellos que se "han quedado" en ASP 3.0 clásico o en PHP, JSP, etc... y que quieren saltar a desarrollar con .NET. En ese caso WebMatrix es un producto genial.

Es más: dado que viene con multitud de aplicaciones Open Source ya listas para usar (desde gestores de contenidos o foros hasta cosas más complicadas, hay de todo) y que es muy fácil probarlas, retocarlas o ampliarlas con páginas propias usando el nuevo motor, abre la puerta a multitud de empresas pequeñas que desarrollan aplicaciones Web a medida para sus clientes y que lo que realmente les interesa es aprovechar software ya hecho, simplemente adaptándolo o retocándolo un poco.

Además WebMatrix presenta por primera vez IIS Express y SQL Server Compact, dos herramientas que TODOS los programadores Web vamos a usar mucho en los próximos meses.

Tenía pensado escribir un buen artículo sobre la herramienta, pero el día a día me lo ha impedido, y además nuestro tutor y amigo José María Aguilar se nos ha adelantado a todos publicando un excelente articulo que da un buen repaso a WebMatrix y todas sus herramientas para que sepas por donde estás pisando. Lo hemos colgado en Scribd, así que puedes leerlo, imprimirlo y descargarlo desde allí.

¡¡Esperamos que te guste!!

Por: José Manuel Alarcon | Friday, July 09, 2010 10:44:54 AM (Hora de verano romance, UTC+02:00)  #    Comments [0] - Trackback
Tags: Artículos | Desarrollo Web



Sígueme en:

:: Twitter JM Alarcón: tecnología, marketing, este blog y frikadas varias
:: Twitter campusMVP: los mejores recursos sobre tecnología Microsoft: trucos, artículos, noticias, vídeos...
:: Facebook campusMVP: los mismos mejores recursos pero en directamente en Facebook.
:: Boletín campusMVP Nuestra publicación electrónica, una vez al mes en tu buzón de correo.
 
Banner

La última versión de ASP.NET, la 4.0, incorpora varias opciones de configuración que tienen que ver con las URLs de nuestras páginas. Por ejemplo: los caracteres que son válidos y, por lo tanto, admitidos en una URL.

Por defecto existen 8 caracteres especiales que no se admiten en la ruta de una página, a saber:

<
>
&
*
%
:
\
?

La verdad es que es bastante lógico, puesto que no puede existir ningún archivo ni carpeta que los use en su nombre, y además el "et" o "ampersand" (&) y la interrogación (?) forman parte siempre de la parte de parámetros o "Query String" de una URL, no de la ruta.

Cuando se introduce uno de estos caracteres en una URL, ASP.NET devuelve un error 400, de petición errónea:

En ASP.NET 4.0 es posible definir la lista de caracteres no válidos en una URL tocando el web.config de la aplicación, en concreto el nodo httpRuntime en su propiedad requestPathInvalidChars:

<httpRuntime requestPathInvalidChars="&lt;,&gt;,*,%,&amp;,:,\,?"  />

Este es su valor por defecto que como vemos incluye los 8 caracteres que comentaba antes.

Si quisiésemos añadir algunos caracteres más que consideremos que no debemos admitir por seguridad, bastaría con incorporarlos a la lista anterior redefiniendo este nodo dentro de web.config.

Además, hay una serie de caracteres no imprimibles que si se intentaran utilizar producirían el mismo efecto, y no hay forma de quitarlos de la lista. Se trata de todos los caracteres ASCII que están entre el 0 y el 31 (el 32 es el primer caracter imprimible y es es el espacio en blanco). Estos caracteres son siempre no válidos por la misma definición de lo que es una URL, y es el propio sistema operativo a través del módulo http.sys quien se encarga de rechazar esas URLs (ni siquiera llega a .NET).

>> Longitud de las URL

Otro parámetro que ha sido constante hasta ahora en el mundo .NET es la longitud máxima de una ruta de nuestra aplicación: 260 caracteres. El motivo es que esta es la longitud máxima que se admite en el sistema de archivos NTFS, que al final es donde residen los archivos de nuestra aplicación.

Otro límite habitual ha sido el de la longitud máxima de la Query String (lo que va después de la ? en una URL, que define los parámetros de la petición). En ASP.NET el límite ha sido siempre de 2.048 caracteres. De hecho este límite debería ser más que suficiente, aunque la mayor parte de los navegadores lo superan: Internet Explorer soporta "sólo" 2.083 caracteres que ya es superior, pero otros navegadores como Opera (4.050 caracteres), Firefox (8.182 caracteres) o safari (8.184 caracteres) soportan como vemos muchos más.

A veces será útil modificar el límite autoimpuesto por ASP.NET de 2.048 caracteres. La mayor parte de las veces mi consejo sería reducir esta longitud ya que si tienes que enviar realmente tanta información mejor que uses un POST y no un GET, y si permites tamaños muy grandes se podrían utilizar para intentar saturar el servidor o hacer que falle tu aplicación si no se espera algo tan grande y trata de ahcer alguna conversión de datos, por ejemplo.

Tocando el mismo nodo de web.config que en el caso anterior puedes modificar ambos límites en ASP.NET 4.0:

<httpRuntime maxRequestPathLength="260" maxQueryStringLength="2048" />

El primer parámetro permite definir longitudes de ruta más largas o más cortas (se refiere a la parte de la URL que no es ni el  http://, ni el nombre del servidor, ni el QueryString). El segundo parámetro modifica la longitud permitida en el Query String.

>> Conclusión
Aunque generalmente no necesitarás tocar ninguno de estos parámetros es bueno saber que ahora puedes hacerlo si surge la necesidad. En cualquier caso es raro que una aplicación llegue a necesitar alcanzar esos límites de tamaño en las rutas, por lo que puede ser interesante cambiarlas por defecto para que sean más cortas y disminuir así la superficie de ataque por esta vía.

No te olvides tampoco de que estas limitaciones afectan tanto a peticiones "normales" desde el navegador, como a peticiones Ajax que no ves porque se hacen en segundo plano.

Por: José Manuel Alarcon | Saturday, June 26, 2010 9:10:21 PM (Hora de verano romance, UTC+02:00)  #    Comments [0] - Trackback
Tags: ASP.NET | Desarrollo Web



Sígueme en:

:: Twitter JM Alarcón: tecnología, marketing, este blog y frikadas varias
:: Twitter campusMVP: los mejores recursos sobre tecnología Microsoft: trucos, artículos, noticias, vídeos...
:: Facebook campusMVP: los mismos mejores recursos pero en directamente en Facebook.
:: Boletín campusMVP Nuestra publicación electrónica, una vez al mes en tu buzón de correo.
 
Banner

He de confesarlo: me encanta el iPhone de Apple. A la espera del nuevo Windows Phone 7, del que tengo muchas dudas y hasta que lo vea en la mano y sepa que hay muchas y buenas aplicaciones, mi favorito sin duda sigue siendo el iPhone 3Gs. Intenté volver a un HTC Touch hace unos meses cuando me cargué el anterior iPhone y no lo soporté ni un día. Sólo de pensar en volver al stylus me dan escalofríos. Una de las cosas que más me gusta es el navegador Safari que lleva embebido. Ahora empieza a ser algo más normal que los navegadores móviles visualicen las páginas Web como en un navegador de escritorio, pero no era así ni mucho menos hasta que apareció el iPhone 2G (el primero que tuve) hace ya 3 años. Este teléfono de hecho fue el que sirvió de revulsivo para que el mercado de los Smartphone haya explotado, y ahora todos siguen la estela a ver si lo imitan. En eso, he de reconocerlo, Windows Phone 7 (al contrario del 6.5), parece que va a ser innovador escapando de las pantallitas de iconos propias del "ayfon".

El caso es que cada vez más gente navega desde el móvil y además, según Market Share, el informe de diciembre de 2009 de Admob, el iPhone arrasa entre los dispositivos móviles a la hora de navegar por Internet, sobre todo en Europa y Oceanía:

por lo que es importante ser lo más amigable posible con estos chismes. Dado que la página se visualiza perfectamente al tener tanto este aparato como los móviles con Android o -últimamente muchos otros incluyendo Windows Mobile- Opera Mobile, una cosa que podemos hacer es facilitar que los visitantes nos coloquen como favoritos.

Cuando navegas a una página con Safari para iPhone, al pulsar el botón "+" de la parte de abajo te salen estas opciones:

la segunda de ellas te permite añadir la página como un acceso directo desde el "escritorio" del teléfono, como un programa más de los disponibles, lo cual es muy útil si accedes a menudo. Por defecto el aparato hace una captura de pantalla de la página y la usa como icono a la hora de añadirlo:

¿Ves algo en el icono anterior? Yo tampoco. Está bien el intento pero no suele servir de mucho, al menos en los blogs y similares. Tal vez en las páginas corporativas que tengan algo destacado que se vea en la mini-captura.

Lo ideal sería que tuviésemos nosotros control sobre el icono que se utiliza. Para ello hay una forma muy sencilla: crear un gráfico en formato PNG de tamaño 60x60 pixeles, y colocarlo en la raíz de nuestro sitio web con el nombre especial: "apple-touch-icon.png".

Con esto, ahora, a la hora de añadir el acceso directo obtenemos el icono adornado por el iPhone con un bonito efecto de reflejo 3D y también bordes redondeados:

Para que te hagas una idea de la diferencia, el icono original es este:

Y así es como queda una vez colocado en el escritorio del teléfono para un fácil acceso directo (abajo a la derecha):

Mola ¿eh?

Si el gráfico se llama "apple-touch-icon-precomposed.png" en lugar del nombre anterior, el teléfono no le añadirá ninguno de estos efectos dejándolo como está.

Si no puedes copiar el icono en el raiz de tu web o si quieres darle un nombre diferente puedes usar una cabecera META en tu página Web para indicar qué icono quieres usar, así:

<link rel="apple-touch-icon" href="mi_icono.png"/>

De manera similar, si se trata de una aplicación, puedes especificar la imagen que quieres que el iPhone muestre mientras se inicia y se conecta (algo asícomo una Splash Screen para el chisme) usando una cabecera parecida:

<link rel="apple-touch-startup-image" href="splash.png">

La imagen tiene que ser de 320x460 píxeles de tamaño. Si no la especificas usará la captura de pantalla de cómo estaba la última vez que la usaste.

<meta name="apple-mobile-web-app-capable" content="yes" />

Si quieres que además la aplicación se muestre a pantalla completa (sin los elementos propios del navegador) añade esto:

<meta name="apple-mobile-web-app-capable" content="yes" />

Espero que te sea útil si vas a hacer algo para este teléfono.

Por: José Manuel Alarcon | Saturday, February 20, 2010 1:17:17 PM (Hora estándar romance, UTC+01:00)  #    Comments [0] - Trackback
Tags: Desarrollo Web



Sígueme en:

:: Twitter JM Alarcón: tecnología, marketing, este blog y frikadas varias
:: Twitter campusMVP: los mejores recursos sobre tecnología Microsoft: trucos, artículos, noticias, vídeos...
:: Facebook campusMVP: los mismos mejores recursos pero en directamente en Facebook.
:: Boletín campusMVP Nuestra publicación electrónica, una vez al mes en tu buzón de correo.
 
Banner
Page 1 of 1 in the Desarrollo Web category
Copyright © 2010 José Manuel Alarcón Aguín. All rights reserved.