Ver Mensaje Individual
  #3 (permalink)  
Antiguo 25/07/2008, 06:05
Avatar de Adler
Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 3 meses
Puntos: 126
Respuesta: Limitar cajas de texto para evitar injection SQL

Hola Piskui

En cuanto a que la caja de texto no pueda contener más de 25 caracteres

Cita:
<input type="text" maxlength="25" />
Evitar inserción

Código PHP:
Dim str

Function Limpiar(strlimpiar,modolimpiar)

    
'modolimpiar = 0 Prepara strlimpiar para un login y evita sql injection    

    str = trim(strlimpiar)
    
    Select Case modolimpiar

    Case 0:
        str = lcase(str)
        str = replace(str,"  "," ")
        str = replace(str,"=","")
        str = replace(str,"'","")
        str = replace(str,"""""","")
        str = replace(str," 
or ","")
        str = replace(str," 
and ","")
        str = replace(str,"
(","")
        str = replace(str,"
)","")
        str = replace(str,"
<","")
        str = replace(str,"
>","")
        str = replace(str,"
having ","")
        str = replace(str,"
group by","")
        str = replace(str,"
union select sum","")
        str = replace(str,"
union select min","")
        str = replace(str,"
--","")
        str = replace(str,"
select ","")
        str = replace(str,"
insert ","")
        str = replace(str,"
update ","")
        str = replace(str,"
delete ","")
        str = replace(str,"
drop ","")
        str = replace(str,"
-shutdown","")

    Case Else 
        str = strlimpiar
    End Select

    Limpiar = str

End Function 
No es totalmente fiable pero .... hay solución

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />