Implementación de Google reCAPTCHA en ASP.NET

https://www.youtube.com/watch?v=ubb74amYEvk&feature=youtu.be Si alguna vez has tenido que marcar la casilla "No soy un robot" o elegir imágenes con semáforos, ya te has encontrado con Google reCAPTCHA. Pero, ¿para qué sirve realmente? Internet está lleno de formularios: para registrarte en un sitio, dejar un comentario o rellenar una encuesta. El problema es que también son un blanco fácil para bots maliciosos, que los usan para enviar spam, lanzar ataques automatizados o incluso intentar robar información. Aquí es donde entra en juego Google reCAPTCHA. Es una herramienta gratuita que ayuda a los sitios web a…continue reading →

Creación de un Avatar de usuario automático en ASP.NET Core MVC

https://www.youtube.com/watch?v=Ow6hqKKBRU0 Introducción ¿Alguna vez has necesitado implementar un sistema de avatares para los usuarios de tu aplicación web, pero no quieres depender de servicios externos o requerir que tus usuarios suban sus propias imágenes? Una solución elegante es generar avatares dinámicamente basados en las iniciales del usuario y un color de fondo personalizado. En muchas aplicaciones modernas, los avatares son un elemento visual importante que ayuda a identificar a los usuarios. Sin embargo, no todos los usuarios cargan una foto de perfil, lo que puede resultar en una experiencia visual inconsistente. ¿Por qué…continue reading →

Cómo validar un formulario con DataAnnotations

¿Sabías que puedes validar un formulario de html fácil, rápido y sencillo con ASP Net Core? En este tutorial os voy a enseñar a como validar un formulario mediante DataAnnotations a través de un model. Antes de comenzar con el tutorial os voy a explicar que son los DataAnnotations. Los DataAnnotations son nos permite llevar a cabo validaciones de datos de acuerdo a nuestras necesidades. Esas necesidades son decoraciones que indicaremos a los miembros de nuestras entidades. Una decoración corresponderá a una validación. Hay mútiples tipos de validaciones desde un teléfono, un email,…continue reading →

Encriptación en ASP.NET

https://flic.kr/p/2oso6pD Para entender un poco la encriptación en ASP.NET , debemos saber 3 conceptos fundamentales y en este caso lo vamos a aplicar en nuestra aplicación: SALT , UnicodeEncoding y SHA256Managed. Pero primero tenemos que saber una palabra clave para poder saber encriptar. El HASH: https://flic.kr/p/2osqnsi Un hash se puede considerar como una "huella digital" de los datos de entrada.Cualquier pequeño cambio en los datos de entrada producirá un hash completamente diferente.Por lo tanto, los hashes se utilizan comúnmente para verificar la integridad de los datos ypara detectar si se han producido cambios…continue reading →

FullCalendar en proyecto .NET Core

FullCalendar es uno de los plugins más populares para la creación de calendarios con JavaScript. Cuenta con conectores para usar con distintos frameworks como Angular, Vue o React. Y también, permite sincronizarlo con Google Calendar. En este ejemplo, vamos a ver como utilizarlo en un proyecto MVC (Modelo-Vista-Controlador) con .NET Core. Veremos que dependencias tenemos que usar y su funcionalidad básica. Además, de como podemos trabajar con eventos. ¿Qué necesito saber? Para empezar, habría que tener conocimientos básicos de proyectos MVC y su funcionamiento. Además, como he dicho anteriormente, vamos a ver como trabajar con…continue reading →

Implementación de varios idiomas en .NET

En esta entrada os quiero explicar como integrar varios idiomas en proyectos de c#. Durante nuestro desarrollo como programadores llega un momento en el que necesitamos dar un salto de calidad y aportar pequeñas mejoras en nuestros proyectos que hacen que estos suban considerablemente el nivel, una de estas mejoras es que el usuario pueda elegir el idioma en el que desea trabajar. Para ello utilizaremos la interfaz IStringLocalizer. Comencemos! En primer lugar crearemos un nuevo proyecto con el siguiente template: https://flic.kr/p/2os8XHQ Le asignamos un nombre a nuestro proyecto. https://flic.kr/p/2os8XHu En la siguiente…continue reading →