'Fungsi: fungsi deteksi string yang aman
'Nama: SafeCheck
'Parameter: CheckString, CheckType, CheckLength
'menjelaskan:
'Checkstring String yang akan dideteksi: karakter apa saja.
'Deteksi CheckType tipe 0 karakter pendek normal 1 angka 2 tanggal 3 uang 4 pengkodean HTML5 decoding string login HTML6 7 deteksi anti-serangan
'CheckLength mendeteksi panjang tipe: tipe adalah int, jika berupa uang, itu adalah posisi koma desimal
'Nilai kembalian: Jika lulus tes, kembalikan string yang benar,
'Jika gagal, kembalikan kode kesalahan SYSTEM_ERROR|ERROR_CODE
'Naskah Ditulis oleh :SnowDu(DU雪.NET)
'Web:http://www.snsites.com/
'Web:http://www.downcodes.com/
'----------------------------------------------
fungsi SafeCheck (CheckString, CheckType, CheckLength)
Pada Kesalahan Lanjutkan Berikutnya
ErrorRoot="SYSTEM_ERROR|"
jika checkString = "" maka
SafeCheck=ErrorRoot&"00001"
fungsi keluar
berakhir jika
CheckString=Ganti(CheckString,"'","'")
pilih kasus Tipe Periksa
kasus 0
CheckString=trim(CheckString)
SafeCheck=Kiri(CheckString,CheckLength)
kasus 1
jika bukan isnumerik (CheckString) maka
SafeCheck=ErrorRoot&"00002"
fungsi keluar
kalau tidak
SafeCheck=Kiri(CheckString,CheckLength)
berakhir jika
kasus 2
tempVar=IsDate(CheckString)
jika Bukan TempVar maka
SafeCheck=ErrorRoot&"00003"
fungsi keluar
kalau tidak
pilih kasus Panjang Periksa
kasus 0
SafeCheck=FormatDateTime(CheckString,vbShortDate)
kasus 1
SafeCheck=FormatDateTime(CheckString,vbLongDate)
kasus 2
SafeCheck=PeriksaString
akhir pilih
berakhir jika
kasus 3
tempVar=FormatMata Uang(CheckString,0)
jika salah maka
SafeCheck=ErrorRoot&"00004"
fungsi keluar
kalau tidak
SafeCheck=FormatMata Uang(CheckString,CheckLength)
berakhir jika
kasus 4
sTemp = CheckString
Jika IsNull(sTemp) = Benar Maka
SafeCheck=ErrorRoot&"00005"
Fungsi Keluar
Akhiri Jika
sTemp = Ganti(sTemp, "&", "&")
sTemp = Ganti(sTemp, "<", "<")
sTemp = Ganti(sTemp, ">", ">")
sTemp = Ganti(sTemp, Chr(34), """)
sTemp = Ganti(sTemp, Chr(10), "<br>")
SafeCheck = Kiri(sTemp,CheckLength)
kasus 5
sTemp = CheckString
Jika IsNull(sTemp) = Benar Maka
SafeCheck=ErrorRoot&"00006"
Fungsi Keluar
Akhiri Jika
sTemp = Ganti(sTemp, "&", "&")
sTemp = Ganti(sTemp, "<", "<")
sTemp = Ganti(sTemp, ">", ">")
sTemp = Ganti(sTemp, """, Chr(34))
sTemp = Ganti(sTemp, "<br>",Chr(10))
SafeCheck = Kiri(sTemp,CheckLength)
kasus 6
s_BadStr = "' &<>?%,;:()`~!@#$^*{}[]|+-=" & Chr(34) & Chr(9) & Chr(32)
n = Len(s_BadStr)
IsSafeStr = Benar
Untuk i = 1 Sampai n
Jika Instr(CheckString, Mid(s_BadStr, i, 1)) > 0 Maka
IsSafeStr = Salah
Akhiri Jika
Berikutnya
jika IsSafeStr maka
SafeCheck=kiri(CheckString,CheckLength)
kalau tidak
SafeCheck=ErrorRoot&"00007"
Fungsi Keluar
berakhir jika
kasus 7
s_Filter="pengguna bersih|xp_cmdshell|/add|pilih|hitung|asc|char|pertengahan|'|""|"
S_Filter=S_Filter&"masukkan|hapus|jatuhkan|potong|dari|%|deklarasikan|-"
S_Filter=berpisah(S_Filter,"|")
ditemukan = salah
untuk i=0 hingga ubound(S_Filters)-1
jika Instr(lcase(CheckString),lcase(S_Filters(i)))<>0 maka
ditemukan=benar
keluar untuk
berakhir jika
Berikutnya
jika ditemukan maka
SafeCheck=ErrorRoot&"00008"
Fungsi Keluar
kalau tidak
SafeCheck=kiri(CheckString,CheckLength)
berakhir jika
akhir pilih
fungsi akhir