Ver Mensaje Individual
  #2 (permalink)  
Antiguo 11/09/2011, 08:27
Avatar de Raziel_Ravenheart
Raziel_Ravenheart
 
Fecha de Ingreso: agosto-2011
Ubicación: Ibagué, Tolima
Mensajes: 192
Antigüedad: 12 años, 8 meses
Puntos: 37
Respuesta: Escribir nombre de variables en consultas SQL (forma especial)

Bueno te responderé algo rápido, estas obteniendo esos datos por medio de la variable $_POST, lo que significa que estas enviando esos datos desde un formulario, y aparte de eso, ejecutas los valores en la variable $_POST directamente con eval... pfffff GRAVISIMO ERROR.

Eval te permite evaluar cualquier expresión, y si un usuario avanzado y malicioso, te envia una intrusión, un ataque XSS o peor una inyección sql, puedes despedirte de tu base de datos.
Mi consejo es que no utilices eval para nada, solo cuando seas tu mismo quien sabe de donde y como provienen los datos, mi consejo principal, es que cambies ese código para que no tengas que utilizar la función eval, aquí te dejo un documento de seguridad, que te recomiendo leas por completo:

http://www.forosdelweb.com/f18/inyeccion-xss-seguridad-php-eval-otras-funciones-ayuda-891245/
http://es.wikipedia.org/wiki/Eval#Seguridad
http://www.zonavirus.com/articulos/eval-la-funcion-maligna-de-javascript.asp

En el ultimo enlace dice que es de javascript, pero creeme cuando te digo, que es maligna en casi cualquier lenguaje de programación, y ahora también lee eesto:

http://mis-algoritmos.com/seguridad-en-aplicaciones-web

Por otro lado, para que deseas convertir las variables dentro de $_POST, si con un

foreach($_POST as $indice => $valor)

obtienes el indice en $indice y el valor en $valor, cuando $indice es el nombre de la variable que le asignaste desde el <form>, por medio del atributo name, mira el uso del foreach:

http://php.net/manual/es/control-structures.foreach.php

Exitos, y te recomiendo que cambies el código para que no uses la función eval. Tiene muchos riesgos si alguien se llega a dar cuenta incluso que no estas usando htmlentities o mysql_real_escape_string