Foros del Web » Programando para Internet » Javascript »

seguridad ajax

Estas en el tema de seguridad ajax en el foro de Javascript en Foros del Web. Buenas tardes, actualmente estoy aprendiendo sobre seguridad en php y an surgido ciertas dudas, si mando datos con ajax a un documento php en el ...
  #1 (permalink)  
Antiguo 31/03/2013, 11:46
Avatar de oscard41  
Fecha de Ingreso: mayo-2012
Ubicación: Caracas
Mensajes: 288
Antigüedad: 12 años, 6 meses
Puntos: 8
seguridad ajax

Buenas tardes, actualmente estoy aprendiendo sobre seguridad en php y an surgido ciertas dudas, si mando datos con ajax a un documento php en el cual esos datos van a ser guardados en una base de datos no atenta eso con la seguridad de la misma?

por ejemplo:
Código Javascript:
Ver original
  1. conexion=creatHTTP();
  2. conexion.onreadystate=recogerDatos;
  3. conexion.open=('post','pagina.php?variable=true','true');
  4. conexion.send(null);

en este ejemplo los datos se envian en conexion.open()-> pagina.php?variable= true, si esa variable en ves de ser true tiene un valor mas importante que va a la base de datos no seria inseguro? ya que en los navegadores puedes ver codigo fuente de la pagina y este codigo de ajax se muestra

a los que me puedan responder gracias

Última edición por oscard41; 31/03/2013 a las 11:51
  #2 (permalink)  
Antiguo 31/03/2013, 12:22
Avatar de marlanga  
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 10 meses
Puntos: 206
Respuesta: seguridad ajax

Los datos críticos sueles ser las primary keys, necesarias para saber qué registro se va a modificar en una edición, o eliminar, etc. Aunque la misma idea se puede utilizar para más cosas.

El tema es no usar el ID para dichos menesteres, si no otro campo creado para esto, por ejemplo "CODE", que será una cadena de 16 o mas caracteres o números única para un registro en una tabla.


Por ejemplo, las URLS de edición suelen ser típicas:
editar.php?id=2&nombre=pepe&edad=10

Si un usuario ver la URL, sabe que cambiando el 2 por otro número podrá modificar a otro usuario. Pero si en vez de su ID usas el campo descrito arriba:

editar.php?idcode=gf823jf82jd82jg723ngf782j8bm8gj3 8&nombre=pepe&edad=10
Es prácticamente imposible que modificando la cadena IDCODE por casualidad logre poner otra que corresponda a otro registro real.

Y por supuesto, es fundamental el manejo de sesiones PHP y permisos para asegurarnos de que el usuario que quiere hacer los cambios, realmente tenga permiso para hacer los cambios.
  #3 (permalink)  
Antiguo 31/03/2013, 12:25
Avatar de hackjose  
Fecha de Ingreso: abril-2010
Ubicación: Edo Mexico
Mensajes: 1.178
Antigüedad: 14 años, 7 meses
Puntos: 131
Respuesta: seguridad ajax

Aunque los usuarios modifiquen tu codigo, eso no tendra efecto en el script original ya que los cambio se guardan en su disco duro y no en el del servidor.

Asi que por la parte de JS no me preocuparia.

Viendo tu codigo podrian pasarlo por ejemplo a PHP usando CURL para enviar datos, en este caso si deberias poner seguridad ya que estos datos que te envien con CURL si te van a llegar, deberias escapar lo que te llegue en POST y GET.

Si usas PHP podrias usar la funcion quotemeta o addslashes

Aparte si usas contraseñas deberias encriptarlas

Salu2
  #4 (permalink)  
Antiguo 31/03/2013, 12:45
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 5 meses
Puntos: 1567
Respuesta: seguridad ajax

Adicionalmente yo miraría el conjunto de tu sistema.
Quienes por ejemplo, estarían habilitados a realizar cambios en la BD? Usuarios registrados?, pués entonces lo primero, realizar un loguin seguro.
Y posteriormente, y siendo tan solo un ejemplo, el usuario logueado como "A" puede modificar solo registros que tengan por ID_usuario "A".
Todo ese trabajo lo va a hacer el php, no Ajax.
Concluyendo, siempre un buen análisis previo
Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #5 (permalink)  
Antiguo 31/03/2013, 12:47
Avatar de oscard41  
Fecha de Ingreso: mayo-2012
Ubicación: Caracas
Mensajes: 288
Antigüedad: 12 años, 6 meses
Puntos: 8
Respuesta: seguridad ajax

Cita:
Iniciado por hackjose Ver Mensaje
Aunque los usuarios modifiquen tu codigo, eso no tendra efecto en el script original ya que los cambio se guardan en su disco duro y no en el del servidor.

Asi que por la parte de JS no me preocuparia.

Viendo tu codigo podrian pasarlo por ejemplo a PHP usando CURL para enviar datos, en este caso si deberias poner seguridad ya que estos datos que te envien con CURL si te van a llegar, deberias escapar lo que te llegue en POST y GET.

Si usas PHP podrias usar la funcion quotemeta o addslashes

Aparte si usas contraseñas deberias encriptarlas

Salu2
Si uso contraseñas y ya las estoy encriptando con sha1() y combinado con una cadena $cadena=''asdksajd#5215"; $encrip=$cadena.shar1($pass)..

uso las sesiones de php también para controlar las personas que pueden acceder a la información ahora voy a empezar a leer las dos funciones q me mandaste gracias..
  #6 (permalink)  
Antiguo 31/03/2013, 12:50
Avatar de oscard41  
Fecha de Ingreso: mayo-2012
Ubicación: Caracas
Mensajes: 288
Antigüedad: 12 años, 6 meses
Puntos: 8
Respuesta: seguridad ajax

Cita:
Iniciado por emprear Ver Mensaje
Adicionalmente yo miraría el conjunto de tu sistema.
Quienes por ejemplo, estarían habilitados a realizar cambios en la BD? Usuarios registrados?, pués entonces lo primero, realizar un loguin seguro.
Y posteriormente, y siendo tan solo un ejemplo, el usuario logueado como "A" puede modificar solo registros que tengan por ID_usuario "A".
Todo ese trabajo lo va a hacer el php, no Ajax.
Concluyendo, siempre un buen análisis previo
Saludos
Gracias, eso tambien lo hice, di privilegios a usuarios, determinados usuarios solo pueden modificar algunas cosas de la base de datos y tambien hice las validaciones tanto en javascript como en php cosa que me habías mencionado anteriormente
  #7 (permalink)  
Antiguo 31/03/2013, 13:21
Avatar de Albuss  
Fecha de Ingreso: enero-2012
Ubicación: Coruña
Mensajes: 475
Antigüedad: 12 años, 10 meses
Puntos: 30
Respuesta: seguridad ajax

Una pregunta, Por que es tan inseguro traer a la parte del cliente la id de un usuario? de todas formas es algo publico que en la mayoría de paginas de usuario se ve públicamente en la url. Por otra parte, los permisos de quien puede o no puede modificar la base de datos, los decís por parte de lenguaje del servidor o referente a las sesiones de la DB?

Etiquetas: ajax, php, seguridad
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 18:42.