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

Seguridad con el String SQL

Estas en el tema de Seguridad con el String SQL en el foro de ASP Clásico en Foros del Web. Esta es una funcion que estoy utilizando dentro de una clase para autentificar a mis usuarios, la parte de parametrizacion viene en negritas, si lo ...

  #31 (permalink)  
Antiguo 21/07/2005, 17:18
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 5 meses
Puntos: 98
Esta es una funcion que estoy utilizando dentro de una clase para autentificar a mis usuarios, la parte de parametrizacion viene en negritas, si lo adaptas y tratas de mandarle strings de SQL veras lo que pasa.

Código:
	Public Function UserLogin()
		if m_user_name <> "" then
			Dim ObjConn
			Dim cmd
			Dim param
			Dim rs
			Dim qry
			Dim strTemp
			Set ObjConn = Server.CreateObject("ADODB.Connection")
			Set rs = Server.CreateObject("ADODB.Recordset")
			Set cmd = Server.CreateObject("ADODB.Command")
			ObjConn.Open strConnect
			qry = "SELECT a.*, b.iGroup_id FROM tbl_iGroup_user a INNER JOIN xref_iGroup_user b " & _
			" ON a.iGroup_user_id = b.iGroup_user_id WHERE a.iGroup_user_email = ? AND " & _
			" a.iGroup_user_password = ? AND a.iGroup_user_active = 1 "
			Set param = cmd.CreateParameter("user_name", adVarChar, adParamInput, 200, m_user_name)
			cmd.Parameters.Append(param)
			Set param = cmd.CreateParameter("user_password", adVarChar, adParamInput, 20, m_user_password)
			cmd.Parameters.Append(param)
			cmd.ActiveConnection = ObjConn
			cmd.CommandText = qry
			cmd.CommandType = adCmdText
			rs.CursorType = 3
			rs.Open cmd
			if not rs.EOF then
				session("user_privateID") = rs(0)
				strTemp = ""
				while not rs.EOF
					strTemp = strTemp & rs("iGroup_id") & ","
					rs.MoveNext
				wend
				strTemp = left(strTemp, len(strTemp) - 1)
			else
				strTemp = ""
			end if
		else
			strTemp = ""
		end if
		Set rs = Nothing
		ObjConn.Close
		Set ObjConn = Nothing
		Set cmd = Nothing
		Set param = Nothing
		UserLogin = strTemp
	End Function
Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #32 (permalink)  
Antiguo 21/07/2005, 17:19
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 20 años, 2 meses
Puntos: 2
Hola!

Mira, si te estan hackeando a cada rato logrando entrar al admin, haz algo para monitorear las entradas, como:

if login = 'aceptado' then

'Guardar las cadenas que pasaron para ser aceptados
insert into tablaLog (user, pass) values (strUser, strPass)

end if

Asi tu verificas esas cadenas, porque al final de cuentas hasta podrias tener una "amigo" que te esta jugando chueco entrando con un password correcto.

Claro, esta tabla de Log, no debe poder ser accesada desde tu sistema de ardministracion, tambien si alguien esta haciendo llamadas recurrentes en ciclo para adivinar tu clave porque conoce tu username, entonces puedes pensar en algo como agregar una imagen con codigo de verificacion, es muy comun hoy en dia esa validacion extra por ese motivo.

Bueno, lo de tener un SP, una consulta con cmd, etc., tambien son buenas opciones, pero es muy recomendable tener ese sistema de log para saber que esta pasando, y mas en ese caso porque es sismeta de administracion.

Suerte!!
__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com
  #33 (permalink)  
Antiguo 21/07/2005, 17:21
Avatar de Saruman  
Fecha de Ingreso: mayo-2003
Ubicación: Panama city, Panama, Panama
Mensajes: 1.154
Antigüedad: 22 años, 1 mes
Puntos: 5
ok, dejame probarlo y te aviso...
gracias UG
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.
  #34 (permalink)  
Antiguo 21/07/2005, 17:21
Avatar de mamon  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 1.302
Antigüedad: 23 años, 5 meses
Puntos: 3
una funcion para poder solucionar esos problemas...

function limpiar_texto(str)
str = replace(str,"'","''")
str = replace(str,"--","__")
str = replace(str,"""""","")
str = replace(str," or ","")
str = replace(str," and ","")
str = replace(str,"-shutdown","")
str = replace(str,"shutdown","")
str = replace(str,"inner","")
str = replace(str,"join","")
str = replace(str,"select","")
str = replace(str,"insert","")
str = replace(str,"update","")
str = replace(str,"delete","")
str = replace(str,"drop","")
str = replace(str,"having ","")
str = replace(str,"group by","")
str = replace(str,"union select sum","")
str = replace(str,"union select min","")
limpiar_texto = str
end function


xusuario = limpiar_texto(trim(request.form("usuario")))
xclave = limpiar_texto(trim(request.form("clave")))

strSQL = "select * from usuarios where usuario = '"&xusuario&"' and password = '"&xclave&"'"

set oRS = oCN.execute(strSQL)

if not oRS.eof then
if xclave = trim(oRS("password")) then
'TODO MUY BIEN
end if

lo que hacemos es quitar algunas instrucciones del SQL para que el usuario no pueda entra a tu tabla usuarios y no poder "hackearte"... después de eso haces la pregunta si existe el usuario y el password.. además de eso ves si esta correcta la consulta y ves si la clave que ingreso el usuario es igual a la que está en el registro de la tabla.. espero me haga entender
__________________
Yo si sé lo que es trabajar duro, porque lo he visto.
  #35 (permalink)  
Antiguo 21/07/2005, 17:23
Avatar de Saruman  
Fecha de Ingreso: mayo-2003
Ubicación: Panama city, Panama, Panama
Mensajes: 1.154
Antigüedad: 22 años, 1 mes
Puntos: 5
hey, gracias neuron....
tomaré en cuenta lo del log... muy bueno!
saludos

pd. gracias a ti tambien mamon....
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.
  #36 (permalink)  
Antiguo 21/07/2005, 23:40
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 20 años, 9 meses
Puntos: 18
Cita:
Iniciado por Neuron_376
Mira, si te estan hackeando a cada rato logrando entrar al admin...
Neuron, sin ánimo de polémica, si te pasa eso es que no has asegurado bien tu aplicación. Y punto. Y, a partir de ahí, lo único que te queda es:

-Parametrizar las consultas (un 10 sobre 10 para el master U_G )
-limpiar cualquier request que llegue a tu página y forme alguna frase SQL.
-y, si es una intranet, aplicar una buena política de seguridad

Repito: sin ánimo de polémicas, ese log que propones lo único que haría sería un malgasto de recursos del servidor. Sería útil, por ejemplo, si hubiera que presentar informes de accesos a un jefazo, o si quisieras controlar el número de entradas de cada usuario, o algunas cositas más. Pero implementarlo sólo por el hecho de auditar los posibles intentos de hackeo de la página no lo veo rentable (a no ser que guardes IP, día y hora de entrada para denunciar "formalmente" al atacante).

Una curiosidad que leí hace un tiempo no me acuerdo dónde: el 90% de los intentos de hack en webs lo llevan a cabo newbies que se acaban de encontrar navegando, de casualidad, un archivo en formato .doc que te explica, paso a paso y sin posibilidad de error( ) cómo hacerte con una base de datos con 500000 o más números de tarjetas de crédito que puedes vender al mejor postor en "cualquier" foro de internet y retirarte por el resto de tus días a vivir a las Maldivas sin tener que preocuparte más que por que tu cuenta no baje de los 7 ceros ( :-p )

Un saludo, fieras...

Última edición por trasgukabi; 21/07/2005 a las 23:59
  #37 (permalink)  
Antiguo 22/07/2005, 00:52
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 21 años, 6 meses
Puntos: 144
Aparte de que no me he enterado de nada de lo propuesto por U_G, jajajaja, quería deciros que yo utilizo aparte de lo típico para este tema de SQL injection (reemplazos de comillas simples, varias comprobaciones a la BD, etc), algo bastante sencillo para que nadie entre vía mi propio panel de administración, aun en el caso de que sepan la ubicación del fichero de logueo, y el nombre del mismo.

Imagina que tienes esto en tu sitio:
www.tusitio.com/admin/admin.asp

O bien:
www.tusitio.com/admin.asp

Bueno, da igual como se llame o donde esté la página de logueo para el administrador. En el caso de Saruman, es posible que el hacker entrara por ese sitio, o bien por el panel de administración de su hosting (si tiene contratado los servicios de terceros). Si el hacker entró por tu propio panel de administración, puedes hacer algo tan sencillo como crear un querystring necesario para que la página se cargue (con lo cual tienes que ponerlo cada vez que tú quieras entrar, evidentemente).

Ejemplo:

http://www.tusitio.com/admin/admin.a...elafuma=aveces

De tal forma que si un hacker sabe que tu página se llama admin, y que está dentro de admin, no podrá acceder, a no ser que sepa el querystring, y el valor del mismo.

Para eso, tienes que poner en la parte de arriba de tu página admin.asp, algo como esto:
Código:
if request.querystring("laabuelafuma")<>"aveces" then
    response.redirect "error.asp" 'Si tienes personalizada una pagina de error, lo mandas a ella, por ejemplo.
else
    'Aquí le presentas el formulario de logueo de usuario y password
end if
Sencillo pero efectivo.
  #38 (permalink)  
Antiguo 22/07/2005, 01:08
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 20 años, 9 meses
Puntos: 18
sencillo, sí. efectivo, no. averigüar ese querystring sería cuestión de segundos. cualquier comprobación de identidad o cualquier medida de seguridad debe ser transparente para el usuario.
  #39 (permalink)  
Antiguo 22/07/2005, 01:13
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 21 años, 6 meses
Puntos: 144
No me refería al login de un usuario para una sección de uso restringido, sino que me refería al panel de administración propio para el webmaster o el administrador del sitio. El usuario que se loguea, lo hace como siempre, en cambio el administrador de la web, lo hace pasando un dato por el querystring.

Por otro lado: ¿cómo se puede averiguar eso?. No me parece tan fácil determinar la variable pasada por el querystring, y el valor que toma. ¿O sí?. Ni idea tío.

Editado: Más que la "variable pasada", me refería a la "variable necesaria" para que se cargara la página, evidentemente.
  #40 (permalink)  
Antiguo 22/07/2005, 01:38
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 20 años, 9 meses
Puntos: 18
3pies, ahora no te contesto que mi penúltima neurona se ha marchado a la cama ya y sólo me queda la de aporrear el teclado (diossss, acaban de dar las 9 de la mañana!!!!! REPETID CONMIGO, C'mon everybody: "NO HAY QUE TRABAJAR EN BARES QUE CIERREN MÁS TARDE DE LAS 5 DE LA MAÑANA!!!!")

un saludo.
  #41 (permalink)  
Antiguo 22/07/2005, 01:46
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 21 años, 6 meses
Puntos: 144
Pero si hace 2 horas que acabas de entrar al curro, jajajaja. Bueno, es comprensible, hoy es viernes, y eso nos pasa a todos.

No obstante, me parece que te has quedado conmigo, con eso de descubrir la variable y el valor de la misma que se pasan por el querystring y que son necesarios para que se cargue una página.

Nunca había oido nada parecido, pero en fin, haré un acto de fe, porque te leo habitualmente, y tienes buena reputación (al menos fuera de los bares, jajajaja).
  #42 (permalink)  
Antiguo 22/07/2005, 06:06
 
Fecha de Ingreso: febrero-2005
Mensajes: 1.015
Antigüedad: 20 años, 4 meses
Puntos: 6
Cita:
Iniciado por Muzztein
y por que no mejor asa:

select pwd from usuario where usuario='loquesea'

???
y de ahi

if pwd = reuqest(pwd)

ah?
Interesante. ¿Con esto nos ahorraríamos lo de sustituir comilla por dos comillas?

A mí me gustaría saber también si existe alguna otra medida de seguridad que tomar (aparte de la de sustituir una comilla por comillas dobles), y si existe otro método de ataque al servidor desde sentencia SQL que no venga del logueo de usuario (sino de por ejemplo, insertar, actualizar datos... o cualquier parte de la aplicación donde se vayan a ejecutar sentencias SQL dependientes del valor que introduzca el usuario).
  #43 (permalink)  
Antiguo 22/07/2005, 08:19
Avatar de Saruman  
Fecha de Ingreso: mayo-2003
Ubicación: Panama city, Panama, Panama
Mensajes: 1.154
Antigüedad: 22 años, 1 mes
Puntos: 5
gracias a todos...
estimado 3pies... ya yo tengo en cada pagina administrativa un include que valida si los permisos del usuario que se ha loguiado están correctos, sino lo redirige a otra pagina con un mensaje de error y bla bla bla...

bueno, eso de la variable no me parece prudente, estoy de acuerdo con lo que dice trasgukabi
Cita:
sencillo, sí. efectivo, no. averigüar ese querystring sería cuestión de segundos.
prefiero validar el tipo de usuario y desplegar lo que tenga que desplegar, con respecto a su sesión y los parámetros que posea.

lo que pasa es que esta persona esta utilizando la ventanilla del login para entrar... pero con los tips que me han dado aqui creo que ahora si puedo contrarrestar a ese mal nacido!.

bueno, cualquier otra sugerencia es bienvenida.

saludos
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.
  #44 (permalink)  
Antiguo 22/07/2005, 10:11
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 20 años, 2 meses
Puntos: 2
Hola!

Bueno, no es polémica, pero un log no es un malgasto de recursos, sino un sistema de monitoreo, en algo como es la zona de admin, esas cosas son muy importantes y utiles, por ejemplo, si resulta ser que es una persona que sabe login y contraseña, no lo vas a saber jamás, en este momento creo que saruman quisiera saber que hizo el hacker para poder entrar, si paso por el login, si burlo la seguridad en otro punto, etc., y eso no lo podrá saber de ninguna forma si no lleva un control, tampoco puede saber que operaciones realizo el hacker, pero si tuviera un sistema de monitoreo (log) en su sismtema de administración, sabría exactamente con que datos entro el hacker y que acciones realizo.

Claro, yo siempre he dicho que tienes que validar, que eso es lo mas importante, y estoy de acuerdo con todos en ese tema, tienes que validar correctamente y eso es lo primero que tienes que hacer, pero en una zona tan delicada como lo es admin, tienes que apoyarte de muchos sistemas para tener un mejor control, y esto no es teoría, y tampoco una opinión que se me ocurrió, es una realidad, son cosas que existen y que se aplican sobre la zona de admin, hasta el uso de SSL para toda esa zona es una realidad para evitar formas de hacker como paginas espejo etc.

El log simplemente te deja ver que es lo que esta pasando, y no es hasta que sabes que paso, donde miras donde tienes tu error, los campos que lleve esa tabla de log serán de tu propia elección, IP, User, Passw, Pagina, etc.....

Y aun todo eso... no te asegura un 100% contra un hacker, mis respetos para estas personas en el tema de la informática, lo unico que podemos hacer es tratar de estar listos.

Suerte!!
__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com
  #45 (permalink)  
Antiguo 22/07/2005, 10:54
Avatar de Saruman  
Fecha de Ingreso: mayo-2003
Ubicación: Panama city, Panama, Panama
Mensajes: 1.154
Antigüedad: 22 años, 1 mes
Puntos: 5
estoy de acuerdo con neuron...
gracias muchachos!
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.
  #46 (permalink)  
Antiguo 22/07/2005, 12:03
Avatar de mamon  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 1.302
Antigüedad: 23 años, 5 meses
Puntos: 3
mira qué fácil entro en tu seguridad MUZZTEIN (para que veas UN_TIO q eso no es todo)...
en el nombre de usuario pongo: ' or '' = '
y en el password pongo: "" or true

entro como el primer usuario que se que está en la tabla de usuarios (que normalmente es el administrador)... no es asi?? xq el resultado de tus cosas sería asi:

select pwd from usuario where usuario='' or '' = ''
'esto de arriba es cierto

if pwd = "" or true then
'de todas formas entro aqui pues..
end if
__________________
Yo si sé lo que es trabajar duro, porque lo he visto.
  #47 (permalink)  
Antiguo 22/07/2005, 12:03
Avatar de mamon  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 1.302
Antigüedad: 23 años, 5 meses
Puntos: 3
Siempre se tiene que limpiar cosas que el usuario ha ingresado.... para eso he puesto un post con una función que limpia el SQL Injection... revisenlo.. está en la página dos
__________________
Yo si sé lo que es trabajar duro, porque lo he visto.
  #48 (permalink)  
Antiguo 22/07/2005, 12:10
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 20 años, 2 meses
Puntos: 2
Bueno...

Solo para aclarar, mamon, no pasa lo que tu dices, lo que pasaria es esto:

select pwd from usuario where usuario='' or '' = ''
'esto de arriba es cierto

if pwd = "or true" then
'no entra porque el password no es igual a "or true"
end if

Recuerda que es una cadena, en el SQL funciona porque vas concatenando cadenas como

"select pwd from usuario where usuario=" & username
esto es igual a
select pwd from usuario where usuario= or '' = ''

Bueno, algo asi...

Suerte!!
__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com
  #49 (permalink)  
Antiguo 22/07/2005, 12:31
Avatar de mamon  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 1.302
Antigüedad: 23 años, 5 meses
Puntos: 3
no.. yo pongo:
"" or true
en el password.. o sino pones:
'' or true
__________________
Yo si sé lo que es trabajar duro, porque lo he visto.
  #50 (permalink)  
Antiguo 22/07/2005, 12:40
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 20 años, 2 meses
Puntos: 2
Hola!

Creo que no me entendiste, prueba lo que te digo, simple y sencillo, haz esto...

test.asp

<%
Dim passDB
Dim pass

passDB = "mamon"
pass = "'' or true"

if pass = passDB then
Response.write "Entre"
else
Response.write "No entre"
end if
%>

Suerte!!
__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com
  #51 (permalink)  
Antiguo 22/07/2005, 12:49
Avatar de mamon  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 1.302
Antigüedad: 23 años, 5 meses
Puntos: 3
mmmm... si pues.. no me habia puesto a pensar eso.. pero hay una cosa.. si se debe quitar las comillas, entre otras cosas... ya que en la sentencia SQL no solo se puede entrar.. sino hacer que me muestren todos los usuarios y cosas asi.. si uno se pone a leer algun documento del SQL injection van a ver que te dicen muchas cosas que se pueden hacer.. x eso es bueno no dejar que el usuario ingrese lo que quiera
__________________
Yo si sé lo que es trabajar duro, porque lo he visto.
  #52 (permalink)  
Antiguo 22/07/2005, 12:51
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 5 meses
Puntos: 98
Cita:
x eso es bueno no dejar que el usuario ingrese lo que quiera
Me uno a los que dicen:
"Por que no, si yo pague mi teclado?"

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #53 (permalink)  
Antiguo 22/07/2005, 12:52
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 20 años, 2 meses
Puntos: 2
De acuerdo!!

Tienes que asegurarte de que tu cadena esta limpia y es correcta eso es lo primero que tienes que hacer, en eso, totalmente de acuerdo, cualquier parametro que recibes, ya sea para SQL o sea un simple parametro para X cosa, tienes que asegurarte de que es correcto y que respeta el formato para el cual lo vas a utilizar.

Suerte!!
__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com
  #54 (permalink)  
Antiguo 22/07/2005, 13:21
Avatar de mamon  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 1.302
Antigüedad: 23 años, 5 meses
Puntos: 3
bien dicho...
__________________
Yo si sé lo que es trabajar duro, porque lo he visto.
  #55 (permalink)  
Antiguo 22/07/2005, 17:21
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 20 años, 9 meses
Puntos: 18
mamon, en el codigo de Muzztein no entras con eso ni loco. si te fijas en la funcion checa_cadena de la bibliteca de funciones lo comprenderás.

un saludo.
  #56 (permalink)  
Antiguo 22/07/2005, 19:22
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 22 años, 7 meses
Puntos: 16
de hecho me parecio extraño el comentario.... saludos
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
  #57 (permalink)  
Antiguo 23/07/2005, 11:04
 
Fecha de Ingreso: febrero-2005
Mensajes: 1.015
Antigüedad: 20 años, 4 meses
Puntos: 6
Cita:
Iniciado por mamon
si uno se pone a leer algun documento del SQL injection van a ver que te dicen muchas cosas que se pueden hacer..
¿Cuál es ese documento?
  #58 (permalink)  
Antiguo 23/07/2005, 11:34
Avatar de Saruman  
Fecha de Ingreso: mayo-2003
Ubicación: Panama city, Panama, Panama
Mensajes: 1.154
Antigüedad: 22 años, 1 mes
Puntos: 5
Cita:
Iniciado por un_tio
¿Cuál es ese documento?
esta en la firma de trasgukabi esta.

http://www.forosdelweb.com/showpost....&postcount=102
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.
  #59 (permalink)  
Antiguo 23/07/2005, 11:43
 
Fecha de Ingreso: febrero-2005
Mensajes: 1.015
Antigüedad: 20 años, 4 meses
Puntos: 6
Ah, vale, gracias.
  #60 (permalink)  
Antiguo 23/07/2005, 12:11
 
Fecha de Ingreso: febrero-2005
Mensajes: 1.015
Antigüedad: 20 años, 4 meses
Puntos: 6
Sólo decir que estoy leyendo lo de SQL-INJECTION y dicen algo importante en lo que no había caído y que no se ha dicho aquí: que no sólo está el peligro de que te pongan comilla, éste asociado a campos de texto, sino que si el campo es numérico, sencillamente no tendrán ni que poner la comilla para poner sentencias SQL a continuación y que se ejecuten.
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 11:26.