Consulta con caracteres invalidos

03/10/2003 - 20:23 por Gustavo Monasterios | Informe spam
Estoy generando una consulta a una BD SQL Server y esta
consta de un campo que encripto mediante el algoritmo
rijndael. El rpoblema es que en algunos casos este
algoritmo me genera cadenas que contienen el caracter '
(comilla simple) que sirve tambien como delimitador de
campo en la consulta, p ej:

SELECT * FROM usuarios WHERE login='mi_login' AND
password='mi_password'

todo funciona bien pero si mi_password vale
NMY€;m'70àfCÞÕBŒ* (observen que antes del 7 hay un ') la
consulta quedaria:
SELECT * FROM usuarios WHERE login='mi_login' AND
password='NMY€;m'70àfCÞÕBŒ*' cerrando antes la comilla y
generando una excepción.

Preguntas similare

Leer las respuestas

#1 Fabián Nuñez Avila
03/10/2003 - 20:57 | Informe spam
Gustavo:
Probá de esta forma a ver si te funciona.
SELECT * FROM usuarios WHERE login='mi_login' AND
password='[NMY€;m'70àfCÞÕBŒ*]'
Saludos
Fabián
Estoy generando una consulta a una BD SQL Server y esta
consta de un campo que encripto mediante el algoritmo
rijndael. El rpoblema es que en algunos casos este
algoritmo me genera cadenas que contienen el caracter '
(comilla simple) que sirve tambien como delimitador de
campo en la consulta, p ej:

SELECT * FROM usuarios WHERE login='mi_login' AND
password='mi_password'

todo funciona bien pero si mi_password vale
NMY€;m'70àfCÞÕBŒ* (observen que antes del 7 hay un ') la
consulta quedaria:
SELECT * FROM usuarios WHERE login='mi_login' AND
password='NMY€;m'70àfCÞÕBŒ*' cerrando antes la comilla y
generando una excepción.
.

Respuesta Responder a este mensaje
#2 Miguel Egea
06/10/2003 - 15:01 | Informe spam
ojo con ese problema, puedes sufrir inyección de código sql. Revisa el
artículo que hay sobre eso en portalsql.com Para este caso bastará con que
sustituyas cada comilla simple que no sea separador por dos comillas
simples.



Saludos Cordiales
=Miguel Egea
http://www.portalsql.com
Microsoft SQL-SERVER MVP.

¡Cuida el rendimiento! Evita los cursores
Brigada Anti-Cursores
==

"Gustavo Monasterios" escribió en el mensaje
news:0a9001c389db$6aea02b0$
Estoy generando una consulta a una BD SQL Server y esta
consta de un campo que encripto mediante el algoritmo
rijndael. El rpoblema es que en algunos casos este
algoritmo me genera cadenas que contienen el caracter '
(comilla simple) que sirve tambien como delimitador de
campo en la consulta, p ej:

SELECT * FROM usuarios WHERE login='mi_login' AND
password='mi_password'

todo funciona bien pero si mi_password vale
NMY¤;m'70àfCÞÕB¼* (observen que antes del 7 hay un ') la
consulta quedaria:
SELECT * FROM usuarios WHERE login='mi_login' AND
password='NMY¤;m'70àfCÞÕB¼*' cerrando antes la comilla y
generando una excepción.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida