Saltar al contenido

Etiqueta: web

Protege tu web de ataques

Ninguna página web está libre de sufrir un ataque. Aunque hay cosas que pueden ponerlo más difícil.

Tener un sitio web protegido debería ser una de las preocupaciones principales de cualquier webmaster. Sobre todo teniendo en cuenta que la creación de código malicioso y ciberataques no deja de aumentar. Como tu página es la puerta de entrada a clientes, seguidores y personas para ayudarte a lograr el éxito, es fundamental mantenerla lo más protegida posible. Desde tienda del espía nos dan algunos consejos al respecto.

Usa las versiones más actualizadas de todo

Muchos de los ataques que se reciben aprovechan vulnerabilidades en el código de los programas. Por eso, es fundamental que tengas las versiones más actuales posibles, ya que en cuanto se detecta algún fallo crítico, los responsables de estos lanzan parches para cerrar esas brechas.

Principalmente importante es tener la última versión del gestor de contenidos que utilizas, como WordPress o Prestashop. También se aplica a los complementos que utilices para que tu sitio funcione y tenga la apariencia que quieres.

Elige un proveedor de alojamiento de calidad

La cantidad de ofertas de empresas que ofrecen alojamiento web es muy abrumadora. Por eso, cuando estés buscando un servidor VPS para subir tu página, haz una búsqueda exhaustiva y compara mucho más que el precio. Haz pruebas, mira lo que dicen de la empresa otros usuarios y asegúrense de los compromisos que tienen para sus clientes.

Utiliza protocolos de seguridad

Google está prestando atención a esto incluso para el posicionamiento, por lo que además de por protección deberás hacerlo de cara al SEO. Protege la seguridad de quienes navegan por tu sitio con un certificado de seguridad que cifre la comunicación. De este modo impedirás que terceros sin autorización puedan hacerse con esta información.

Esto es especialmente necesario cuando manejes información bancaria, datos personales o claves de acceso. Por ejemplo si tienes una tienda en línea en la que los clientes pueden abrirse una cuenta.

Contraseñas seguras

De nada sirve contar con el mejor servicio de hosting para tu web si la contraseña es tan básica que la adivinaría un niño de primaria jugando  con el teclado. Puede parecer bastante obvio, pero teniendo en cuenta que las claves más habituales son 123456 o qwerty, no está de más destacar este punto.

Para que tu contraseña sea segura debes evitar fechas destacadas, palabras que están en el diccionario o nombres de pila. También tienes que procurar que haya símbolos, números y combinaciones de mayúsculas y minúsculas. Y no uses la misma contraseña para más de un sitio.

Captchas contra el spam

Si no quieres ver como tu página se llena de comentarios realizados por robots, utiliza un cortafuegos que demuestre que es un humano el que quiere escribir algo. Así solo recibirás información de parte de personas reales, y no de programas que tratan de saturar el servidor lanzando ataques de envío masivo de información.

Servicios específicos contra ataques

Si tu web ha sufrido varios ataques, manejan información sensible o simplemente quieres extremar las precauciones, contrata servicios especializados para potenciar la seguridad de tu página. Puedes solicitar servicios AntiDDoS y similares a tu proveedor de alojamiento. Y si no cuenta con ellos, tal vez sería buena idea mirar quién lo tiene, ya que cada vez es más necesario contar con este tipo de protecciones.

Tal vez creas que no necesitas aumentar la protección de tu página porque no tienes un volumen tan grande como para que te consideren importante. Sin embargo, quienes se dedican a lanzar ataques no hacen distinción, e incluso se concentran en este tipo de webs para secuestrarlas y utilizarlas con fines maliciosos.

Recuerda compartir este artículo si te gusto y compartir tus opiniones en la caja de comentarios.

1 comentario

What comes next is the future: Documental sobre la web

What Comes Next Is the Future es un documental sobre la web creado por Matt Griffin. El cual relata la historia de la web: las fases por las cuales ha pasado, como está actualmente y hacia donde se dirige, contada por la gente que la construyó.

El contenido del documental

Si eres desarrollador web o deseas convertirte en uno, no debes dejar de ver este documental. Lo que mas me gustó es la participación de personas muy importantes en el mundo de la web como: Tim Berners Lee, Ethan Marcotte, Eric Meyer, John Resig, Jessica Ivins, entre otros. Pues estas escuchando la historia por quienes realmente lo hicieron y se expresan con un cierto sentimiento que le da mejor calidad a la historia.

What Comes Next Is the Future
What Comes Next Is the Future es un buen documental para todo desarrollador web

El documental tiene una duración de 1 hora, abarca desde la creación de la web, cuando todos creábamos sitios con tablas, el nacimiento de CSS, la hegemonía de flash, la aparición de los dispositivos móviles y como afectó a los sitios web. Me gustó porque muestran la historia de la web desde un punto de vista de los desarrolladores, a diferencia de otros documentales donde lo hacen desde el punto de vista del usuario. En mi caso, que llevo haciendo páginas desde 1999, el documental me recordó como se hacían muchas cosas en el pasado y como algunas tecnologías nacieron para solventar problemas del pasado.

Cómo ver What comes next is the future

Lo mejor es que el documental está disponible de forma gratuita en la web, lamentablemente por ahora no tiene sub-títulos en español (sería bueno que alguien se animara a realizarlos). Así que reserva una hora para que veas What Comes next is the future a continuación.

Recuerda que si te gustó, comparte esta información con tus amigos para que conozcan mas sobre la plataforma web.

Deja un comentario

Pruebas de visualización de una página desde distintos dispositivos

Uno de los mayores problemas para los desarrolladores web es la diferente interpretación de los estándares web por parte de los navegadores, ocasionando que un sitio web se vea de forma distinta en diferentes navegadores. Ademas, con el surgimiento de dispositivos móviles en los últimos años,  ahora también se deben hacer pruebas de las páginas bajo distintas resoluciones para abarcar mas usuarios.

Aunque puede consumir mucho tiempo navegar desde distintos dispositivos y sistemas operativos para hacer las pruebas, existen herramientas para automatizar este proceso. Una que me gustó fue Remote Preview, una aplicación web que al definir una URL en un panel central, envía el navegador web de todos los dispositivos a esa dirección, permitiéndote ver como es la página en cada dispositivo, ademas, cada 1100ms chequea la URL, por lo que si la cambias, automáticamente todos los dispositivos visitan el sitio. Esto permite ahorrar el tiempo de navegación desde cada dispositivo y permite identificar rápidamente, problemas de compatibilidad entre resoluciones o plataformas.

Para entender mejor esta herramienta, les dejo un video donde pruebo como se ve mi blog en distintos navegadores y plataformas móviles:

Remote-Preview: Herramienta para probar sitios web múltiples dispositivos

Así que si desarrollas un sitio web, no dejes de usar esta herramienta para comprobar que el sitio se ve bien desde tu teléfono, tableta, computadora, desde los navegadores de escritorio, sistema operativo y otros. Mientras mas compatibilidad brindes a dispositivos, mas usuarios podrán leer tu contenido y recibir mas visitas.

Deja un comentario

Optimiza el HTML, CSS, JS e imágenes de tu sitio web con Gulp

Uno de los retos de los desarrolladores web al momento de crear páginas web, es encontrar el equilibrio perfecto entre ofrecer un sitio con excelente apariencia visual y usabilidad, pero cuyo tamaño sea lo menor posible para que la carga sea rápida. Pues un sitio web rápido permite: tener mas visitas con el rendimiento actual del servidor, se ahorran costos de ancho de banda, los usuarios sienten que es una buena página y navegan mas tiempo por ella, entre otras. Este procedimiento incluye varias tareas que realizan muchos desarrolladores web como: usar las versiones reducidas (comprimidas) de Javascript, comprimir y ofuscar nuestro código del lado del cliente,  optimizar las imágenes del sitio, comprimir los archivos CSS, combinar todos los archivos CSS y Javascript en un sólo archivo (para cada tecnología) para reducir el número de conexiones, etc. Algo que no es complicado pero consume tiempo y que se debe repetir cada vez que se hacen cambios en el sitio.

Gulp

Como este proceso es repetitivo y consume tiempo, lo mejor es hacer un script que automatice cada etapa, pero hoy en día existen herramientas como que nos permite facilitar todo lo mencionado anteriormente. En este artículo hablaré sobre Gulp, una herramienta para automatizar tareas que hace lo mismo que GruntJS pero es mas fácil de usar y entender.

¿Cómo empezar?

Para instalarlo, lo hacemos a través Node Package Manager de forma global para que se instale como un comando del sistema y poder ejecutarlo en cualquier parte:
npm install -g gulp

Luego en la raíz del proyecto creamos un archivo gulpfile.js donde especificaremos las tareas a realizar:

var gulp = require('gulp');
gulp.task('default', function() {
});

Añadir una tarea

Una tarea es un conjunto de procesos, por ejemplo, optimizar el código JS consiste en: reemplazar algunas liberias por sus versiones CDN, utilizar las versiones minificadas de librerías de terceros, luego concatenar los archivos, minificar y actualizar las referencias en el HTML. Cada uno de estos procesos podemos encontrarlos en el buscador de complementos de Gulp (en caso de no existir alguna puedes crearla y publicarla en Github) y se instalan con npm.

Gulp posee una importante característica: su sistema de flujos entre tareas. Cada una de ellas recibe un conjunto de data (generalmente archivos), realiza un proceso en ella y produce nueva data para ser enviada como entrada a otro flujo. Esto permite a tareas que modifiquen gran de archivos, hacer este procedimiento en RAM y solo escribir en el disco cuando ya se ha terminado de procesar todos los archivos, por lo que se ejecutará muy rápido.

Para verlo en acción, haremos una tarea para reducir el tamaño de los archivos JS como ejemplo, entonces nuestro primer paso es instalar el plugin uglify con NPM:
npm install --save-dev gulp-uglify

Luego se deben hacer dos cosas en el archivo gulpfile.js, una es importar esta el complemento en las dependencias y asignarla a una variable, luego con esta variable podemos ejecutar la función que se encargará de (en este caso) reducir el tamaño del código javascript. Para ello debemos hacer lo siguiente:


var uglify = require('gulp-uglify');


gulp.task('comprimir', function() {
gulp.src('lib/*.js')
.pipe(uglify())
.pipe(gulp.dest('dist'))
});

Como podrás observar, hemos creado una tarea llamada comprimir , que recibe un conjunto de archivos (los archivos JS ubicados dentro de /lib), crea una tubería y ejecuta uglify que se encargará de comprimir cada uno de los archivos, finalmente entrega el resultado a la tubería que se enviará a la ruta de destino (esta se puede definir a donde uno desee). Así sucesivamente podemos ir creando procesos como los mencionados anteriormente y luego agruparlo en unas tareas mas generales, por ejemplo, tareas para generar una versión para depurar (cuya fuente no este comprimida), una versión para producción, una versión de producción para pruebas, entre otros. Esto lo puedes hacer al final haciendo algo como esto:

gulp.task('produccion', ['comprimir', 'copiar','cdn', 'less']);

Ejecutar las tareas

Finalmente puedes ejecutar el comando gulp en la raíz de tu proyecto y empezará a realizar todas las tareas de forma automática. En caso de que quieras ejecutar solo una tarea, puedes pasar por parámetro el nombre de la tarea:

gulp produccion

Con esto generas la versión de producción, o  por ejemplo, si tienes una tarea llamada less para generar los archivos CSS desde LESS, simplemente ejecuta:
gulp less

Tareas recomendadas

Para optimizar un sitio web, generalmente utilizo imagemin, jshint, clean-css, notify, imagemin-pngquant, uglify, usemin. Con estas puedo comprimir imágenes, mejorar el código javascript, concatenar archivos, reducir el tamaño, entre otros. Aunque te recomiendo leer un artículo de Addy Osmani sobre optimización de webs, pues lista una gran cantidad de tareas que puedes ir probando para usar al momento de mejorar tus sitios.

Finalmente, como te darás cuenta con Gulp puedes crear sitios web mas óptimos y ahorrando mucho tiempo. Existen una gran cantidad de tareas existentes que puedes agregar a tu proyecto y facilitar tu trabajo, por eso te recomiendo chequearlas en el buscador de plugins de Gulp y si no existe, puedes crearla y ayudar a otros programadores que necesiten algo similar.

Deja un comentario