Foros del Web » Programando para Internet » ASP Clásico »

sql inyection

Estas en el tema de sql inyection en el foro de ASP Clásico en Foros del Web. Hola gente,estoy usando este codigo para contrarestar SQL inyection y me gustaria me dieran vuestra opinion, o bien si tienen algun otro codigo mas optimo. ...
  #1 (permalink)  
Antiguo 31/07/2008, 12:10
 
Fecha de Ingreso: diciembre-2002
Mensajes: 473
Antigüedad: 21 años, 6 meses
Puntos: 0
sql inyection

Hola gente,estoy usando este codigo para contrarestar SQL inyection y me gustaria me dieran vuestra opinion, o bien si tienen algun otro codigo mas optimo. Este lo use con exito en varias webs pero en una entraron aunque verifique faltaba ponerlo en dos paginas y estimo sera por eso.

en cada pagina:

Cita:
If IllegalChars(elid)=True Then
Response.redirect("index.asp")
End If
la funcion:


Cita:
'Function IllegalChars to guard against SQL injection
Function IllegalChars(sInput)
'Declare variables
Dim sBadChars, iCounter
'Set IllegalChars to False
IllegalChars=False
'Create an array of illegal characters and words
sBadChars=array("select","update", "drop", ";", "--", "insert", "delete", "xp_", _
"#", "%", "&", "'", "(", ")", "/", "\", ":", ";", "<", ">", "=", "[", "]", "?", "`", "|")
'Loop through array sBadChars using our counter & UBound function
For iCounter = 0 to uBound(sBadChars)
'Use Function Instr to check presence of illegal character in our variable
If Instr(sInput,sBadChars(iCounter))>0 Then
IllegalChars=True
End If
Next
End function

Gracias por cualquier idea desde ya!
  #2 (permalink)  
Antiguo 31/07/2008, 14:50
Avatar de Muzztein  
Fecha de Ingreso: agosto-2002
Ubicación: Hangar 18
Mensajes: 1.703
Antigüedad: 21 años, 9 meses
Puntos: 16
Respuesta: sql inyection

Me parece que la funcion esta muy bien programada.
Pero por otro lado creo que la cantidad de caracteres ilegales es demasiada y atenta con el contenido que la gente pudiera intentar subir a la basa de datos.

Tanto como select,update,delete,etc son palabras que cualquiera pudiera usar.
Ahora bien, si lo estas usando para un LOGIN, me parece muy acertado. De todas maneras, todo esto del SQL inyection se ve muy aminorado si se hace un buen tratamiento de los errores.
de esa manera se minimiza la informacion que pudiera entregar el servidor si es que este se cae en alguna ejecuccion.
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 19:55.