5 configuraciones para mejorar la seguridad de tus formularios Web


Una de las principales consideraciones al momento de crear un sitio web es la seguridad de los formularios. Estos pueden convertirse en puntos de entrada sensibles hacia el sistema. Un formulario inseguro puede desde sobrecargar un servidor hasta acceder y modificar información almacenada en una base de datos. Aquí listamos 6 pasos sencillos para asegurar que los formularios de un proyecto web están protegidos.


1. FORMULARIOS AUTENTICADOS CON SMTP

La más básica en imprescindible actuación SIEMPRE será utilizando formularios con envio autenticados por SMTP. De esta manera se puede controlar el remitente de los formularios y no quedar osfuscado por envíos "nobody".

PubliWeb tiene prohibido en todos sus servidores el uso de formularios NO autenticados por SMTP y que utilicen "nobody" para el envio de los datos, y demás medidas necesarias que impidan el SPAM.

2. Captcha

Un captcha es una imagen distorcionada que contiene un código que el usuario debe leer e ingresar en un campo del formulario. La idea es que el hecho de ser una imagen y de que esté distorcionada evitará que códigos maliciosos puedan enviar ataques en el formulario.


3. Protección CSRF

CSRF significa Cross Site Request Forgery o Falsificación de Petición en Sitios Cruzados en español. Este tipo de vulnerabilidad trata de enviar datos de un formulario a un script ubicado en un sitio web distinto. Para evitar este ataque se debe chequear el sitio web del que proviene el formulario. Por ejemplo, en PHP se puede usar la variable $_SERVER["HTTP_REFERER"] para validar desde dónde viene la información. No obstante, esta variable puede ser modificable o no provista, por lo cual una manera más confiable de validar que el formulario haya sido enviado desde el dominio correspondiente es utilizando Cookies.

4. Validaciones Javascript

Validar que los campos requeridos de un formulario se hayan completado y que tengan un formato y extensión apropiados mejora grandemente la experiencia del usuario y dificulta los posibles ataques. Se debe verificar que los campos del formulario permitan una cantidad razonable de caracteres y que respeten el formato pedido. Por ejemplo, usando Javascript, se puede limitar un campo para que solamente admita números.

Existen muchísimas librerías para javascript que permiten facilitar la validación de un formulario antes de su envío. Por ejemplo Jquery Validate es un plugin de la librería Jquery que permite realizar validaciones de campos numéricos e emails con un formato muy sencillo. Similarmente, Masket Input es otro plugin de Jquery que no solo restringe el tipo y número de caracteres admitidos en un input, si no que también les da formato conforme el usuario escribe.

5. Validaciones Internas

De cualquier forma, los navegadores permiten desactivar el Javascript, razón por la cuál se hace necesaria la validación de los campos y de su formato desde el script final. Esto es importante ya que los ataques maliciosos podrían intentar enviar código por un formulario, que al ser leído o desplegado podría ejecutarse y causar serios problemas. Este tipo de ataque es conocido como XSS o Cross Site Scripting. En PHP, por ejemplo, una simple línea de código permitiría filtar una entrada dependiendo de si queremos recibir texto o código html:
//suponiendo que $entrada guarda el valor enviado por el formulario //$entrada_txt almacenará una cadena de texto segura $entrada_txt = htmlentities(trim(strip_tags(stripslashes($entrada))), ENT_NOQUOTES, "UTF-8"); //en este caso $entrada_html almacenará una cadena con html $entrada_html = strip_tags(htmlentities(trim(stripslashes($entrada))), ENT_NOQUOTES, "UTF-8");

 

PubliWeb
www.publiweb.es

  • 8 Los Usuarios han Encontrado Esto Útil
¿Fue útil la respuesta?

Artículos Relacionados

Como borrar el historial ("cache") de mi Navegador Web

La memoria "caché" es la memoria que utiliza su navegador para guardar imágenes de las páginas...

IP banneada en su Hosting por el Corta Fuegos

¿Está banneada mi IP en alguno de los Servidores de PubliWeb®?. En algunos casos, los sistemas...

Como limpiar la cache DNS en Windows

Has notado que a veces cuando tratas de entrar a un sitio web (asumimos que la red, la conexion a...

Scripts : Error 500.

HTTP 500 Error Interno del Servidor. Cuando se obtiene este error, significa que el "script" que...

Errores HTTP más comunes

Estos errores son teóricamente independientes de cualquier sistema operativo u operador de...