Al final lo hice de la siguiente manera:
En mi funcion valida_datos, lo primero hice una llamada a la funcion Limpiar, pero creo que no me entra en el Case 0....os pongo el codigo:
Código PHP:
function ValidaDatos(Nombre,ValorDefecto)
Nombre=Limpiar(Nombre,"0") <-La llamada es correcta?? se llama con "0" o sin comillas o como???
if (Request.Form(Nombre) <> "") then
ValidaDatos = Request.Form(Nombre)
....
Código PHP:
Function Limpiar(strlimpiar,modolimpiar)
Dim str
'modolimpiar = 0 Prepara strlimpiar para un login y evita sql injection
str = strlimpiar
Select Case modolimpiar
Case "0":
str = replace(str,"x","j")
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
El caso es que me logeo correctamente, pero para probar que funciona meti el primer replace ("str = replace(str,"x","j")") ya que mi usuario empieza por 'j' y lo pruebo poniendo el usuario empezando por 'x' que segun este replace.....lo cambiaria por la 'j' y deberia entrar no?
pues no entra!!!!!!!!!
Se me ocurre que no este llamando bien a la funcion limpiar desde la otra funcion, el tema del "0".
Otra cosa podria ser que el problema sea por no haber definido los tipos
"strlimpiar y modolimpiar"
Espero su ayuda,gracias y un saludo.