<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%> MiradasDoc 08
Search

" />
<% '***************************************************************************************************** 'Procedimiento para eliminar posible código SQL en las búsquedas function limpiar(t) dim tt tt=t tt=replace(tt,"""","") tt=replace(tt,"'","") tt=replace(tt,"--","") tt=replace(tt,"delete","") tt=replace(tt,"update","") tt=replace(tt,"drop","") ' convendría tambien un tt=server.htmlencode(tt) limpiar=tt end function '***************************************************************************************************** function Sacar(cadena,campos) dim i dim SacarAux while InStr(cadena," ") Cadena=Replace(Cadena," "," ") wend if (len(cadena)>0) and (cadena <> "img") and (cadena <> "table") and (cadena <> "object") and (cadena <> "src") and (cadena <> "width") and (cadena <> "height") and (cadena <> "target") then 'if InStr(cadena," ")>0 then 'Sacar= Sacar(left(cadena,InStr(cadena," ")-1),campos) & " OR " & Sacar(right(cadena,len(cadena)-InStr(cadena," ")),campos) 'elseif InStr(cadena,"+")>0 then 'Sacar=Sacar(left(cadena,InStr(cadena,"+")-1),campos) & " AND "& Sacar(right(cadena,len(cadena)-InStr(cadena,"+")),campos) 'elseif InStr(cadena,"-")>0 then 'Sacar=Sacar(left(cadena,InStr(cadena,"-")-1),campos) & " AND NOT " & Sacar(right(cadena,len(cadena)-InStr(cadena,"-")),campos) 'else 'fijamos la sentencia SacarAux="" i=1 SacarAux= "( " & campos(i) & " Like '%" & cadena & "%'" i=i+1 while len(campos(i))>0 SacarAux= SacarAux & " OR " & campos(i) & " Like '%" & cadena &"%'" i=i+1 wend SacarAux=SacarAux & " )" Sacar=SacarAux 'end if else sacar="" end if end function '***************************************************************************************************** dim SQL, Resultado, campos(3) 'el tamaño del array debe superar en uno al número de campos de búsqueda campos(1)="CONTENIDOS_ESP.TITULAR" campos(2)="CONTENIDOS_ESP.CONTENIDO" dim sentencia sentencia = Sacar(limpiar(Request.QueryString("txt")),campos) if sentencia <> "" then 'para que no busque en la portada SQL = "Select CONTENIDOS_ESP.IDCONTENIDO, CONTENIDOS_ESP.TITULAR, RELACION_SECCION_CONTENIDO.IDSECCION, SECCIONES.NOMBRE_ESP From CONTENIDOS_ESP, CONTENIDOS, RELACION_SECCION_CONTENIDO, SECCIONES Where (SECCIONES.IDIOMA <> 'inglés') AND (CONTENIDOS_ESP.IDCONTENIDO = CONTENIDOS.IDCONTENIDO) AND (CONTENIDOS.IDCONTENIDO = RELACION_SECCION_CONTENIDO.IDCONTENIDO) AND (RELACION_SECCION_CONTENIDO.IDSECCION = SECCIONES.IDSECCION) AND (SECCIONES.IDSECCION>0) AND (SECCIONES.IDBLOQUE IN (Select IDBLOQUE From BLOQUES Where IDBLOQUE = 62)) AND (CONTENIDOS.PUBLICAR <> 0) AND (CONTENIDOS.FECHAALTACONTENIDO <= CONVERT(datetime, '"&DATE&"', 103)) AND ((CONTENIDOS.FECHABAJACONTENIDO > CONVERT(datetime, '"&DATE&"', 103)) OR (CONTENIDOS.FECHABAJACONTENIDO IS NULL)) AND " & Sentencia & " ORDER BY RELACION_SECCION_CONTENIDO.IDSECCION ASC, CONTENIDOS.ORDEN ASC" else 'Ponemos una consulta que sepamos que no va a devolver ningún registro SQL = "Select ID From PORTADA Where ID > ID and IDDOMINIO = 8" end if Response.Write "" Response.Write "" Response.Write "" Response.Write "" Response.Write "" Response.Write "" end if end if Response.Write "" Response.Write "" Response.Write "
" '// Abrimos la consulta Set Resultado = Server.CreateObject("ADODB.Recordset") Resultado.Open SQL, Ruta, 2, 1 if sentencia <> "" then Response.Write "Results: " & chr(34) & Request.QueryString("txt") & chr(34) Response.Write "
" if not Resultado.eof then While not Resultado.eof Response.Write "" & Resultado("NOMBRE_ESP") & "" Response.Write "
" Resultado.MoveNext Wend else Response.Write "No matching founded." Response.Write "
" '//Cerramos la consulta Resultado.Close Set Resultado = Nothing %>