Grupo de palabras en cadena

08/02/2005 - 15:30 por Juan Melas | Informe spam
Necesito validar una cadena, y determinar si dentro de la misma existe un
grupo de palabras, lo que estoy buscando es evitar que dentro de un textbox
se ingresen determinadas palabras por ejemplo:

"UPDATE","SELECT","INSERT","DELETE".

Preguntas similare

Leer las respuestas

#1 Leonardo Azpurua
08/02/2005 - 19:01 | Informe spam
"Juan Melas" escribió en el mensaje
news:
Necesito validar una cadena, y determinar si dentro de la misma existe un
grupo de palabras, lo que estoy buscando es evitar que dentro de un
textbox se ingresen determinadas palabras por ejemplo:

"UPDATE","SELECT","INSERT","DELETE".



Hola.

Prueba con:

Dim Exp As New Regex("UPDATE|SELECT|INSERT|DELETE", _
RegexOptions.IgnoreCase)
If Exp.IsMatch(laCadena) Then
' estan tratando de inyectarte codigo
Else
' no, por lo menos quelo sepas
End If

El tipo RegEx esta declarado en System.Text.RegularExpressions

Como no te cuides de ALTER y DROP, no tiene mucho caso que hagas nada para
defenderte de la inyección.

Salud!
Respuesta Responder a este mensaje
#2 Juan Melas
09/02/2005 - 02:28 | Informe spam
Gracias Leonardo era lo que estaba buscando.

"Leonardo Azpurua" <l e o n a r d o (arroba) m v p s (punto) o r g> escribió
en el mensaje news:

"Juan Melas" escribió en el mensaje
news:
Necesito validar una cadena, y determinar si dentro de la misma existe un
grupo de palabras, lo que estoy buscando es evitar que dentro de un
textbox se ingresen determinadas palabras por ejemplo:

"UPDATE","SELECT","INSERT","DELETE".



Hola.

Prueba con:

Dim Exp As New Regex("UPDATE|SELECT|INSERT|DELETE", _
RegexOptions.IgnoreCase)
If Exp.IsMatch(laCadena) Then
' estan tratando de inyectarte codigo
Else
' no, por lo menos quelo sepas
End If

El tipo RegEx esta declarado en System.Text.RegularExpressions

Como no te cuides de ALTER y DROP, no tiene mucho caso que hagas nada para
defenderte de la inyección.

Salud!


Respuesta Responder a este mensaje
#3 Rodmy Suarez
09/02/2005 - 05:11 | Informe spam
Hola Saludos, solo quería aportar algo. Si es que estas intentando evitar un
SQL Injection puedes utilizar parametrizacion en lo que son tus consultas
sobre todo si es con un servidor SQL Server.

Bueno tal vez sirva. ya que si solo quitas SELECTS y esos aún pueden
utilizar otros que ni nos imaginamos aún.

Salvo por gracia, Rodmy


"Juan Melas" escribió en el mensaje
news:
Necesito validar una cadena, y determinar si dentro de la misma existe un
grupo de palabras, lo que estoy buscando es evitar que dentro de un


textbox
se ingresen determinadas palabras por ejemplo:

"UPDATE","SELECT","INSERT","DELETE".


Respuesta Responder a este mensaje
#4 Jorge Serrano [MVP VB]
09/02/2005 - 11:27 | Informe spam
Hola Juan,

Como información adicional, mira este enlace:
http://www.compilando.net/msp_seear...article_id˜

También utiliza la función Split para analizar la cadena.
Las expresiones regulares que te han indicado es otra alternativa.


Un saludo,

Jorge Serrano Pérez
MVP VB.NET


"Juan Melas" wrote:

Gracias Leonardo era lo que estaba buscando.

"Leonardo Azpurua" <l e o n a r d o (arroba) m v p s (punto) o r g> escribió
en el mensaje news:
>
> "Juan Melas" escribió en el mensaje
> news:
>> Necesito validar una cadena, y determinar si dentro de la misma existe un
>> grupo de palabras, lo que estoy buscando es evitar que dentro de un
>> textbox se ingresen determinadas palabras por ejemplo:
>>
>> "UPDATE","SELECT","INSERT","DELETE".
>
> Hola.
>
> Prueba con:
>
> Dim Exp As New Regex("UPDATE|SELECT|INSERT|DELETE", _
> RegexOptions.IgnoreCase)
> If Exp.IsMatch(laCadena) Then
> ' estan tratando de inyectarte codigo
> Else
> ' no, por lo menos quelo sepas
> End If
>
> El tipo RegEx esta declarado en System.Text.RegularExpressions
>
> Como no te cuides de ALTER y DROP, no tiene mucho caso que hagas nada para
> defenderte de la inyección.
>
> Salud!
>
>



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida