Para evitar la inyeccion de codigo, me han proporcionado esta funcion, ¿Algun
comentario?
CREATE FUNCTION dbo.fn_validatebadcode(
@variable nvarchar(4000)) RETURNS nvarchar(4000) AS
BEGIN
DECLARE @return_string nvarchar(4000)
DECLARE @badChars nvarchar(40)
DECLARE @badChar varchar(10), @Pos int
SET @badChars = 'select,drop,;,--,insert,delete,xp_,'
comas
SET @return_string = @variable
SET @Pos = CHARINDEX(',', @badChars, 1)
IF REPLACE(@badChars, ',', '') <> ''
BEGIN
WHILE @Pos > 0
BEGIN
SET @badChar = LTRIM(RTRIM(LEFT(@badChars, @Pos - 1)))
IF @badChar <> ''
BEGIN
SELECT @return_string = REPLACE(@return_string,@badChar,'')
END
SET @badChars = RIGHT(@badChars, LEN(@badChars) - @Pos)
SET @Pos = CHARINDEX(',', @badChars, 1)
END
END
RETURN @return_string
END
Saludos
IIslas
Leer las respuestas