Ver Mensaje Individual
  #5 (permalink)  
Antiguo 06/07/2012, 18:56
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 info4 Ver Mensaje
Hola a todos...
Estoy haciendo una aplicacion web en la cual se crea un registro, pero para seguridad se pide que no sea posible la insercion de codigo SQL en el formulario, ¿Como puedo validar e impedir que esto suceda?

Gracias por sus respuestas y su amable ayuda
si es tan solo para el sql, mysql_real_escape_string(), te debería bastar.
Ahora que para el resto
filter de php
strip_tags()
htmlspecialchars()
expresiones regulares
etc.

incluso desde el .htaccess de apache, podés hacer cosas como esta
Código Apache:
Ver original
  1. RewriteEngine On
  2. #Prevenir leechers, bots y otras porquerias
  3. RewriteCond %{HTTP_USER_AGENT} ^$ [OR]
  4. RewriteCond %{HTTP_USER_AGENT} ^(-|\.|') [OR]
  5. RewriteCond %{HTTP_USER_AGENT} ^(.*)(<|>|%3C|%3E)(.*) [NC,OR]
  6. RewriteCond %{HTTP_USER_AGENT} ^(java|curl|wget)(.*) [NC,OR]
  7. RewriteCond %{HTTP_USER_AGENT} ^(.*)(libwww-perl|libwwwperl|snoopy|curl|wget|winhttp|python|nikto|scan|clshttp|archiver|loader|email|harvest|fetch|extract|grab|miner|suck|reaper|leach)(.*) [NC,OR]
  8.  
  9. #Prevenir inyección SQL, XSS, GET
  10. RewriteCond %{REQUEST_URI} ^(/,|/;|/<|/>|/'|/`|/%2C|/%3C|/%3E|/%27|/////) [NC,OR]
  11. RewriteCond %{HTTP_REFERER} ^(.*)(%00|%08|%09|%0A|%0B|%0C|%0D|%0E|%0F|%2C|<|>|'|%3C|%3E|%26%23|%27|%60)(.*) [NC,OR]
  12. RewriteCond %{QUERY_STRING} ^(.*)(%00|%08|%09|%0A|%0B|%0C|%0D|%0E|%0F|%2C|%3C|%3E|%27|%26%23|%60)(.*) [NC,OR]
  13. RewriteCond %{QUERY_STRING} ^(.*)('|-|<|>|,|/|\\|\.a|\.c|\.t|\.d|\.p|\.i|\.e|\.j)(.*) [NC,OR]
  14. RewriteCond %{HTTP_COOKIE} ^(.*)(<|>|'|%3C|%3E|%27)(.*) [NC]
  15.  
  16. RewriteRule ^(.*)$ /error.shtml [NC,L]

Y si pensás en validación, olvidate de que existe javascript, asi de simple.
Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.