¿Como valido mis datos de forma segura en Internet con asp.net?

Muy sencillo con controles de validacion! 🙂

Los formularios web de asp.net incluyen controles de servidor para
comprobar errores en los formularios de entrada y mostrar errores al usuario sin
apenas realizar  programación a diferencia de lo que ocurría con la programacion asp
donde teniamos que realizar nuestras propias rutinas de validacion en el
cliente con Javascript por ejemplo.

Estos controles se agregan desde Visual Studio a una pagina con un
formulario web donde existen controles de servidor como los clásicos
htmltextarea o un Htmlinputtext

Los controles de validacion de asp.net nos permiten validar campos de un
formulario web de forma automática sin apenas escribir código!

Los controles mas usados que existen son:

* RequiredFieldValidator: comprueba que no se deja en blanco un campo
obligatorio

* CompareValidator: compara lo tecleado por el usuario con:
– un valor constante
– el valor de otro control
– un determinado tipo de datos (String, Date, Integer…)
– puede usar operadores de comparación (mayor que, menor que, igual,
etc.)

* Rangevalidator: compara lo tecleado por el usuario con un rango de
valores por ejemplo un número del 10 al 99.

* RegularExpressionValidator: compara lo tecleado por el usuario con
un patrón definido en una expresión regular lo cual os permite hacer pácticamente cualquier validacion
si ninguna de las anteriores os gusta o no encaja con lo que queréis validar.

* Custom Validator: Te permite realizar tus propias validaciones con código desarrollador por ti. Es la
última ópción que uso si no sirve ninguno de los anteriores.

* ValidationSummary: muestra resúmenes de la validación con los
mensajes de error

Estos controles se pueden combinar y  validan en el lado del servidor pero si nuestro
navegador admite HTML dinámico, también se pueden realizar validaciones en el
cliente antes de enviar los valores al servidor ahorrandonos un viaje de ida y
vuelta al servidor (PostBack). Esta validación está habilitada de forma predeterminada y se realiza de forma automática.

El proceso que tiene lugar es el siguiente

1 Se presenta el web form al navegador.
2 El usuario introduce los datos.
3 El usuario pulsa enviar del formulario y se pasa la entrada a los
controles de validacion asociados que son verificados en el cliente si se activó.
4 Se establece la propiedad IsValid A true o false según el resultado
de la validación.
5 Si el resultado de validacion es un error, podemos mostrar un mensaje
de error en ese control o en un validationsummary en cualquier parte de la
página e incluso en una ventana emergente!

Archivo WebUIValidation.js

Para que los controles Validation de Asp .NET funcionen, es necesario
que exista en el servidor Web un archivo llamado WebUIValidation.js de
JavaScript. Este archivo de secuencias de comando es generado de manera
automática en la instalación de Asp .NET y ha de estar colocado en
la ruta virtual:

localhost/aspnet_client/system_web/nº_de_versión_de_Framework/WebUIValidation.js

o en la siguiente física por defecto

C:Inetpubwwwrootaspnet_clientsystem_web1_1_4322webuivalidation.js
y smartnav.js para poder validar en cliente

Si por algún motivo no existe ese fichero, puede ser copiado
manualmente desde otro servidor que lo posea o generado de nuevo con la orden
"aspnet_regiiis -c".

WebUIValidation.js contiene todas las funciones javascript de
HTML dinámico (DHTML) requeridas para ejecutar en el cliente el código
HTML de validación generado por el servido al compilar la página aspx.
Os paso varias direcciones donde podéis ver muchos ejemplos y probarlos

http://es.gotdotnet.com/quickstart/aspplus/doc/webvalidation.aspx el mejor para iniciarse

http://msdn.microsoft.com/library/spa/default.asp?url=/library/SPA/vbcon/html/vbconclient-sidevalidation.asp

http://msdn.microsoft.com/library/spa/default.asp?url=/library/SPA/vbcon/html/vbtskvalidatingprogrammatically.asp

http://msdn.microsoft.com/library/spa/default.asp?url=/library/SPA/vbcon/html/vbtskcontrollingvalidationerrormessagedisplay.asp

http://www.asp.net/QUICKSTART/aspnet/samples/validation/ValidationForm_vb.aspx el mejor ejemplo que los combina casi todos 😉

http://www.asp.net/QUICKSTART/util/srcview.aspx?path=~/aspnet/samples/validation/ValidationForm.src

http://www.asp.net/QUICKSTART/aspnet/doc/validation/default.aspx

Espero que os sirvan tanto como a mi me sirvieron en su dia!

Sergio

¿Que temario puedo dar para un curso de ASP.NET?

Hay colegas que me preguntan un temario para dar en un curso de asp.net , yo tengo varios pero el que mas me gusta es este de 40 h:

DIA 1

INSTALACION DE VS.NET, versiones y requisitos mínimos.

INTRODUCCION A POO

Recursos, enlaces de Interés, temario, sdk y calendario

DIA 2

LENGUAJES C# Y VB. 

DIA 3

INTRODUCCIÓN A .NET FRAMEWORK .

DIA 4

INTRODUCCIÓN A .NET FRAMEWORK con Ejemplos y Ejercicios

DIA 5 

INTRODUCCIÓN A ASP.NET

DIA 6

PRIMEROS PASOS CON ASP.NET, WEBFORMS Y CODE BEHIND. EE.

DIA 7

CONTROLES HTML Y DE SERVIDOR. EE

DIA 8

CONTROLES WEB DE USUARIO Y DE VALIDACIÓN. COMPONENTES .EE

DIA 9

PLANTILLAS Y DATABINDING.EE

DIA 10

CONTROLES DE LISTA Y CLASE PAGE.EE

DIA 11

TRAZA DE ERRORES Y DEPURACIÓN. IIS 6. CONFIG DE APS ASP.NET

DIA 12

ACCESO A DATOS CON ADO.NET y DAAB. EE

DIA 13

SERVICIOS WEB CON VISUAL STUDIO o SEGURIDAD EN ASP.NET E IIS.

Supondremos que el alumno tiene conocimientos básicos de HTML. Programación, C o PHP o ASP, SQL aunque no imprescindible.

Espero que os sirva a profesores y alumnos varios.

Saludos

Sergio Vázquez Martín

http://www.mutisdotnet.com

Cual es para ti la mejor pagina de Visual Studio 2005 y de IIS 7

Hombre , hay muchas y me lo pones muy díficil pero si tuviera que elegir aqui las tienes tras pensarlo un buen rato  a fecha de hoy veo estas dos:

 http://msdn.microsoft.com/vstudio/default.aspx de VS2005

http://www.microsoft.com/windowsserver/longhorn/iis/default.mspx de IIS7

http://technet2.microsoft.com/windowsserver/en/technologies/featured/iis/default.mspx General de IIS

http://msdn.microsoft.com/vstudio/express/vwd/ de Visual Web Developer Express que uso en los cursos que imparto

 y si lo que estas buscando  es a los mejores cursos de la materia solo puedo recomendarte estas  webs donde trabajan algunos amigos con los que he colaborado:

http://www.plainconcepts.com/ a los que tengo que agradecer el espacio del blog

http://www.campusmvp.com/ Es el mejor campus online que conozco si quieres aprender a distancia.

http://www.solidqualitylearning.com/ a los que tengo que agradecer sus consejos sobre sql 😉

Sergio

Nueva vulnerabilidad de .net Fw 2.0

Hoy ha salido un parche importante para una vulnerabilidad moderada del framework net 2.0 que puede permitir acceso a información. Es una vulnerabilidad de tipo XSS (Cross Site Scripting) que permite inyectar código de script y que ya he comentado en anteriores conferencias que puedes descargarte de mi web aqui http://www.mutisdotnet.com/ en conferencia Web Hacking .NET) que requiere interacción del usuario similar a los ataques de Phishing tan famosos. Es debido a que según MS a que:

By default, .NET Framework 2.0 controls do not set the AutoPostBack property to “true”.

Mas información aquí:

Se ha detectado un problema de seguridad que podría permitir a un usuario malintencionado poner en peligro un sistema basado en Windows que ejecute Microsoft .NET Framework y obtener acceso a datos restringidos.

http://www.microsoft.com/technet/security/Bulletin/MS06-056.mspx

 No hay que alarmarse, simplemente instalas el parche y listos 😉

Sergio Vázquez

Buenas prácticas de uso de Outlook

Aunque pueda parecer una tontería, hay veces que no nos damos cuenta y usamos mal el correo electrónico como medio de comunicación. He visto de todo como gente que  le envia un mail al compañero de enfrente para decirle una frase de un párrafo lo cual no me parece la forma más adecuada de comunicación y de tener feedback del destinatario. Internet por su propia naturaleza es un medio frío y en ocasiones, si no se usa adecuadamente, algo inseguro. Hay que procurar en determinadas situaciones decir las cosas a la cara pues es el mejor canal de comunicación en muchos casos.

Aqui van unas buenas prácticas:

1.- Envía el mail a las menos personas posibles. No fomentes cadenas de sapm

2.- Establece prioridad de los mensajes

3.- Fija un asunto breve ,claro y conciso relacionado directamente con el contenido

4.- Escribe lo menos posible y ves directo al grano. No te enrrolles demasiado

5.- Cuida las formas y el lenguaje y piensa directamente en quien lo recibe y su estado si lo conoces.

6.- Evita la ambigüedad o posibles malentendidos. Suele pasar mas de lo que uno se imagina y hay gente muy susceptible increiblemente.

7.- Piensa si existe otro medio alternativo mejor para comunicarse

8.- Si el correo es confidencial indicalo claramente y responde en tiempo y forma si hay un compromiso claro.

9.- Usa firmas de correo para identificarte claramente e indicar tu actividad profesional.

10.- No envíes correos al de al lado, díselo de viva voz si puedes y esta presente!

11.- Separa claramente tu correo personal del profesional y no los mezcles nunca indicandolo claramente.

 Sergio

http://www.mutisdotnet.com

Que programa de backup me recomiendas?

Hay muchos y depende de las necesidades de cada uno pero te puedo aconsejar de momento estos 3 y ya pruebas y eliges el que mas te gusta:

– El propio de windows : ntbackup.exe. Es gratis con el sistema operativo e intersante para un usuario junto con los puntos de restauracion de XP.

Norton Symantec Ghost . Apropiado para un solo servidor o estacion de trabajo si no te convence el anterior y  te hace copias espejo del disco en unidades externas. Bastante útil para restaurar un sistema rápidamente en menos de 1h sin comprar cintas caras DAT.NLB, Ideal para 1-10 pc

Symantec Veritas Backup Exec 10d: Para entornos grandes empresariales, clusters, etc.. Tienes que seleccionar cuidadosamente los agentes, comprobar que tiene drivers para los dispositivos externos etc.. y es bastante completo. Ideal para 10 -100 pcs

 Por supuesto hay muchos mas eincluso alguno free. Es sólo cuestion de buscar.Solo os he mencionado algunos que he usado satisfactoriamente.

Sergio

El viernes sale Windows Vista RC2

Segun leo en la página de Microsoft Vista Release Candidate 2 solo estará disponible para beta-testers,miembros de msdn,technet, y participantes del CPP para que lo pruedan probar antes de pasar a producción definitivamente para lo cual tiene que haber menos de 500 errores. En Septiembre habían más de 2000 contabilizados. El lanzamiento en EEUU debe hacerse en Noviembre para que esté disponible para Enero en nuestro país.

 Podéis descargarlo de aqui:  http://download.windowsvista.com/preview/rc2/en/download.htm

Las versiones ilegales del producto en producción paralizarán el pc como medida anti piratería.

http://win-vista.es/

http://win-vista.es/

Sergio
http://www.mutisdotnet.com

 

Date un paseo por Internet Explorer 7 RC1

Ya ha saludo Internet Explorer para descargarse y darse un paseo. Es una versión mucho más estable y menos problemática que
las Betas 1 y 2 que sufrimos en "nuestras carnes", Entre las mejoras puedo mencionar que lleva su Antispyware opcional gratuito, una interfaz optimizada, una impresión mejorada , la posibilidad de obtener información RSS, cuadros de búsqueda instantánea y seguridad mejorada como control parental,antipopup y para evitar estafas como el famoso "phishing" que he comentado en numerosos cursos y conferencias por la alta incidencia que tiene actualmente.

Con todo esto se espera que la gente tenga menos miedo y dificultades de rellenar un formulario en internet que en papel 😉

Os recomiendo verla aqui:

 http://www.microsoft.com/spain/windows/ie/default.mspx

Saludos 

Sergio
http://www.mutisdotnet.com