Уберите все специальные символы - PullRequest
1 голос
/ 15 февраля 2012

Может кто-нибудь сказать мне, как убрать все специальные символы (<>, / \ '%; () & + - *) в ASP (классический)?

Это то, что у меня есть, но это не такработает.

Function RemoveBad(strTemp)

Dim regEx
Set regEx = New RegExp
regEx.IgnoreCase = True
regEx.Pattern = "[/\<|\>|\|\'|\%|\;|\(|\)|\&|\+|\-/g]"
RemoveBad = replace(strTemp,regEx.Pattern," ")

End Function

Ответы [ 3 ]

4 голосов
/ 15 февраля 2012

Для предотвращения XSS все, что вам нужно, это;

function RemoveBad(strTemp)
    RemoveBad = server.htmlencode(strTemp) 
end function
2 голосов
/ 15 февраля 2012

Используйте метод RegExp.Replace:

RemoveBad = regEx.Replace(strTemp, "")
0 голосов
/ 15 февраля 2012

Вы можете использовать ряд операторов replcae в функции


Function RemoveBad(strTemp)  

strTemp = REPLACE( strTemp, Chr(1),  '')
strTemp = REPLACE( strTemp, Chr(2),  '')
strTemp = REPLACE( strTemp, Chr(3),  '')
strTemp = REPLACE( strTemp, Chr(4),  '')
strTemp = REPLACE( strTemp, Chr(5),  '')
strTemp = REPLACE( strTemp, Chr(6),  '')
strTemp = REPLACE( strTemp, Chr(7),  '')
strTemp = REPLACE( strTemp, Chr(8),  '')
strTemp = REPLACE( strTemp, Chr(9),  '')
strTemp = REPLACE( strTemp, Chr(10), '')
strTemp = REPLACE( strTemp, Chr(11), '')
strTemp = REPLACE( strTemp, Chr(12), '')
strTemp = REPLACE( strTemp, Chr(13), '')
strTemp = REPLACE( strTemp, Chr(14), '')
strTemp = REPLACE( strTemp, Chr(15), '')
strTemp = REPLACE( strTemp, Chr(16), '')
strTemp = REPLACE( strTemp, Chr(17), '')
strTemp = REPLACE( strTemp, Chr(18), '')
strTemp = REPLACE( strTemp, Chr(19), '')
strTemp = REPLACE( strTemp, Chr(20), '')
strTemp = REPLACE( strTemp, Chr(21), '')
strTemp = REPLACE( strTemp, Chr(22), '')
strTemp = REPLACE( strTemp, Chr(23), '')
strTemp = REPLACE( strTemp, Chr(24), '')
strTemp = REPLACE( strTemp, Chr(25), '')
strTemp = REPLACE( strTemp, Chr(26), '')
strTemp = REPLACE( strTemp, Chr(27), '')
strTemp = REPLACE( strTemp, Chr(28), '')
strTemp = REPLACE( strTemp, Chr(29), '')
strTemp = REPLACE( strTemp, Chr(30), '')
strTemp = REPLACE( strTemp, Chr(31), '')

' Add as many replace statements as you need

End Function      

...