Foros del Web » Programando para Internet » PHP »

seguridad en formulario

Estas en el tema de seguridad en formulario en el foro de PHP en Foros del Web. Hola, Cual es la mejor manera de filtrar un formulario y hacerlo seguro contra posibles ataques o inyecciones sql?? Tengo un formulario para que los ...
  #1 (permalink)  
Antiguo 16/12/2008, 19:00
 
Fecha de Ingreso: junio-2006
Ubicación: Antofagasta
Mensajes: 216
Antigüedad: 18 años, 5 meses
Puntos: 7
seguridad en formulario

Hola,

Cual es la mejor manera de filtrar un formulario y hacerlo seguro contra posibles ataques o inyecciones sql??

Tengo un formulario para que los visitantes agreguen comentarios a los articulos publicados, dicho formulario consta de 3 campos: nombre, email y mensaje.

Para evitar que ingresen codigo html uso htmlentities() .

Para los que saben mas, cual es la mejor manera de evitar OTROS malos usos??? algun otro metodo de filtrar la cadena ingresada por los usuarios para evitar otras cosas??

No se si me explico bien


Saludos
  #2 (permalink)  
Antiguo 16/12/2008, 19:23
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: seguridad en formulario

mmm.... la primer sugerencia, investiga realmente que es un ataque de SQL Injection y XSS, analiza bien el panorama y saca tus propias conclusiones...

algunas funciones que te escribas, como is_email, is_nick ... usa expresiones regulares...

usa strip_tags, is_numeric, etc, entidades, es mas... lo mejor es validar cada dato, has visto la clase input filter de PHP ???
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 17/12/2008, 00:57
Avatar de SPAWN3000  
Fecha de Ingreso: marzo-2008
Ubicación: Bogota
Mensajes: 858
Antigüedad: 16 años, 8 meses
Puntos: 15
Pregunta Respuesta: seguridad en formulario

Bueno, el concepto es mas bien general... se aplica a todos los lenguajes y aplicaciones en general.


Para php:
1. Configurar el archivo .htaccess(tambien con expresiones regulares) para impedir acceso a ciertos directorios, o limitar los archivos disponibles o visibles al visitante, o que alguien pueda extrar informacion u archivos desde tu sitio y publicarlo en el suyo.
2. Usar un algoritmo de encripcion para los datos de conexion a la BD, cuesntas de usuario... Principalmente tipos semilla.
3. Aplicar tecnicas de seguridad por oscuridad(Puede dificultar la tarea de atacantes novatos), una forma es usar un archivo index.html en blanco en todas las carpetas.
4. Inyeccion SQL(eregi): Validar el ingreso de caracteres como comillas sencillas, Dobles, intrucciones sql, =>,<=,==,+,-... en campos de Login, busqueda, registro, tec-Para esto se puede aplicar una regla con expresiones regulares... Finalmente terminas creando una clase de validacion para cada cosa...Email, url's, telf, Sistemas de Logeo...
5. En tus formularios, en vez del conocido y molesto captacha, puedes usar un campo oculto con un codigo de identificacion... Asi luego validas si realmente es un usuario el que intenta entrar en la maquina, ya que los robots ingresan datos en todos los campos una y otra vez, incrementando el nivel de trabajo de tu sistema y la base de datos.
6. Habilitar el modo seguro(safe mode), en la configuracion del servidor, esto puede evitar los ataques de tipo inclusion(Un atacante puede efectuar un script remoto si verifica que el servidor permite ejecutar o cargar otros sitios como parametros).
7. En lo posible, utilizar el metodo POST para el intercamio de informacion entre las paginas.
8. Asignar a las tablas y carpetas nombres poco intuitivos...Un caso: No crear una carpeta config y en su interior almacenar el archivo de conexion a la base de datos, evitar tablas con nombre: usuarios.
9. Efectuar control de usuarios tanto en cache del servidor, como la cookie del cliente... asi como la comprobacion de usuarios activos.
10. Validar por medio de paginas de error las anomalias del sistema, y no darle la libertad de presentar errores tecnicos al usuario.
  #4 (permalink)  
Antiguo 17/12/2008, 01:07
Avatar de jfonseca  
Fecha de Ingreso: junio-2006
Mensajes: 8
Antigüedad: 18 años, 5 meses
Puntos: 0
Respuesta: seguridad en formulario

mira esta pagina http://pixybox.seclab.tuwien.ac.at/pixy/index.php ahi puedes realizarle un test a tus paginas web para detectar los mas conocidos ataques.

tambien puedes descargar la utilidad para mejorar el test.
  #5 (permalink)  
Antiguo 17/12/2008, 14:30
 
Fecha de Ingreso: junio-2006
Ubicación: Antofagasta
Mensajes: 216
Antigüedad: 18 años, 5 meses
Puntos: 7
Respuesta: seguridad en formulario

Muchas gracias por su información... me ha ayudado bastante para entender el concepto y saber por donde comenzar y que cosas hacer,e informacion a buscar para aprender mas.

Gracias por su ayuda.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:46.