'Função: função de detecção segura de string
'Nome:SafeCheck
'Parâmetros: CheckString, CheckType, CheckLength
'ilustrar:
'Checkstring A string a ser detectada: qualquer caractere.
'Tipo de detecção CheckType 0 caractere curto normal 1 número 2 data 3 dinheiro 4 codificação HTML5 decodificação HTML6 string de login 7 detecção anti-ataque
'CheckLength detecta o comprimento do tipo: o tipo é int, quando é dinheiro, é a posição da vírgula decimal
'Valor de retorno: Se passar no teste, retorne a string correta,
'Se falhar, retorne o código de erro SYSTEM_ERROR|ERROR_CODE
'Script escrito por: SnowDu (DU雪.NET)
'Web: http://www.snsites.com/
'Web: http://www.downcodes.com/
'----------------------------------------------------------
função SafeCheck(CheckString,CheckType,CheckLength)
Em caso de erro, retomar o próximo
ErroRoot="SYSTEM_ERROR|"
se checkString = "" então
SafeCheck=ErrorRoot&"00001"
função de saída
fim se
CheckString=Replace(CheckString,"'","'")
selecione o caso CheckType
caso 0
CheckString=trim(CheckString)
SafeCheck = Esquerda (CheckString, CheckLength)
caso 1
se não for numérico (CheckString) então
SafeCheck=ErroRoot&"00002"
função de saída
outro
SafeCheck = Esquerda (CheckString, CheckLength)
terminar se
caso 2
tempVar=IsDate(CheckString)
se não for TempVar então
SafeCheck=ErrorRoot&"00003"
função de saída
outro
selecione o caso CheckLength
caso 0
SafeCheck=FormatDateTime(CheckString,vbShortDate)
caso 1
SafeCheck=FormatDateTime(CheckString,vbLongDate)
caso 2
SafeCheck=CheckString
final selecionar
terminar se
caso 3
tempVar=FormatCurrency(CheckString,0)
se Errar então
SafeCheck=ErrorRoot&"00004"
função de saída
outro
SafeCheck=FormatCurrency(CheckString,CheckLength)
terminar se
caso 4
temp = CheckString
Se IsNull(sTemp) = True então
SafeCheck=ErrorRoot&"00005"
Função de saída
Terminar se
Temp = Substituir(Temp, "&", "&")
Temp = Substituir(Temp, "<", "<")
Temp = Substituir(Temp, ">", ">")
Temp = Substituir(Temp, Chr(34), """)
Temp = Substituir(Temp, Chr(10), "<br>")
SafeCheck = Esquerda(sTemp,CheckLength)
caso 5
temp = CheckString
Se IsNull(sTemp) = True então
SafeCheck=ErrorRoot&"00006"
Função de saída
Terminar se
Temp = Substituir(Temp, "&", "&")
Temp = Substituir(Temp, "<", "<")
Temp = Substituir(Temp, ">", ">")
temp = Substituir(temperatura, """, Chr(34))
temp = Substituir(temp, "<br>",Chr(10))
SafeCheck = Esquerda(sTemp,CheckLength)
caso 6
s_BadStr = "' &<>?%,;:()`~!@#$^*{}[]|+-=" & Chr(34) & Chr(9) & Chr(32)
n = Len(s_BadStr)
IsSafeStr = Verdadeiro
Para i = 1 Para n
Se Instr(CheckString, Mid(s_BadStr, i, 1)) > 0 Então
IsSafeStr = Falso
Terminar se
Próximo
se IsSafeStr então
SafeCheck=esquerda(CheckString,CheckLength)
outro
SafeCheck=ErrorRoot&"00007"
Função de saída
terminar se
caso 7
s_Filter="net user|xp_cmdshell|/add|select|count|asc|char|mid|'|""|"
S_Filter=S_Filter&"inserir|excluir|descartar|truncar|de|%|declarar|-"
S_Filtros=split(S_Filtro,"|")
isFound=falso
para i=0 para ubound(S_Filters)-1
se Instr(lcase(CheckString),lcase(S_Filters(i)))<>0 então
isFound = verdadeiro
saída para
terminar se
próximo
se for encontrado então
SafeCheck=ErrorRoot&"00008"
Função de saída
outro
SafeCheck=esquerda(CheckString,CheckLength)
terminar se
final selecionar
função final