Mostrando entradas con la etiqueta Seguridad. Mostrar todas las entradas
Mostrando entradas con la etiqueta Seguridad. Mostrar todas las entradas

jueves, 4 de octubre de 2007

Almacenamiento Aislado en .NET

Esta clase permite definir la creación y utilización de archivos y directorios en entornos aislados.
Los entornos aislados son útiles cuando se necesita acceder a datos contenidos en archivos (por ejemplo configuraciones) y se quiere evitar que el assembly pueda ser explotado con fines maleficos (por ejemplo, acceder a otros recursos dentro del sistema de archivos).

Antes de utilizar almacenamiento aislado es necesario definir el alcance de dicho almacenamiento, es decir, quien y desde donde podrá acceder a los datos ahí almacenados. Los métodos de almacenamiento son:

Assembly/Machine: Corresponde a información del Assembly a nivel de máquina, por ejemplo, archivos de configuración que tendrá una aplicación comúnes para todos los usuarios de una máquina.
Asssembly/User: Datos del assembly a nivel de usuario, sólo cuando el usuario en cuestión ejecute el assembly dado se podrá acceder a los datos almacenados.
Domain/Machine: Similar a Assembly/Machine, pero a nivel de dominio de apicación (AppDomain).
Domain/User: Similar a Assembly/User, pero a nivel de dominio de apicación (AppDomain).

A continuación ejemplos de como crear almacenamientos aislados.

// nivel Assembly/Machine
IsolatedStorageFile machineStorage = IsolatedStorageFile.GetMachineStoreForAssembly();

// nivel Assembly/User
IsolatedStorageFile userStorage = IsolatedStorageFile.GetUserStoreForAssembly();

// nivel Domain/Machine
IsolatedStorageFile machineDomainStorage = IsolatedStorageFile.GetMachineStoreForDomain();

// nivel Domain/User
IsolatedStorageFile userDomainStorage = IsolatedStorageFile.GetUserStoreForDomain();

Con la clase IsolatedStorageFileStream es posible crear archivos en un almacenamiento aislado. IsolatedStorageFileStream deriva de la clase FileStream, por lo que su comportamiento es muy similar a cualquier Stream de datos.

A continuación, un ejemplo del uso de IsolatedStorageFileStream:

IsolatedStorageFile almacen = IsolatedStorageFile.GetUserStoreForAssembly();

IsolatedStorageFileStream configuracion = new IsolatedStorageFileStream("Configuracion.dat", FileMode.Create, almacen);

StreamWriter sw = new StreamWriter(configuracion)
sw.WriteLine("Nombre = francisco");
sw.Close();
configuracion.Close();

viernes, 2 de febrero de 2007

Evitando Cross-Site Scripting

Hace algun tiempo, Microsoft liberón una librería llamada Microsoft Anti Cross-Site Scripting, cuyo objetivo es brindar una manera simple de disminuir el riesgo de un ataque de estas caracteristicas a un sitio web.

La utilización de esta librería es simple e intuitiva. El siguiente articulo es una guía básica de uso de AntiXss para proyectos ASP.NET.

Agradecimientos a Yair Peña, un compañero de trabajo que nos enseñó esta librería y como sacarle provecho en nuestras aplicaciones.


El artículo lo puedes encontrar aqui