Ver Mensaje Individual
  #7 (permalink)  
Antiguo 06/07/2012, 22:18
Avatar de emprear
emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: ¿Como validar que el usuario NO ingrese codigo SQL en un formulario?

Cita:
Iniciado por leonardo308 Ver Mensaje
Validar del lado del cliente no evita las injecciones SQL, aunque para responderte a tu pregunta puedes utilizar expresiones regulares y alli indicar que caracteres quieres aceptar. e aqui un ejemplo basico.

Código Javascript:
Ver original
  1. <script>
  2. function validar(e,expresion_regular){
  3.     return expresion_regular.test(String.fromCharCode(e.which));
  4.     }
  5. </script>
  6. <input type="text" onkeypress="return validar(event,/[a-z]/)" />

Lo unico que tienes que cambiar es la expresion regular /[a-z]/ en cada campo de texto.

Con respecto a mysql_real_escape_string(), esa funcion esta descontinuada.
Yo personalmente utilizo FILTER_SANITIZE_SPECIAL_CHARS, asi el usuario escribe lo que sea y queda libre de injeccion sql.
Tambien puedes utilizar MySQLi o PDO_MySQL.
Esta desaconsejado no discontinuada (como puede ser el caso de eregi()), lo que no es lo mismo.
Ya mencioné la extensión filter, pero lamentablemente muchos servidores no la tienen habilitada, además de que en muchos otros casos utilizan versiones viejas de php.
Asi que como alternativa todavía es válida.
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.