REM ## Konversi Integer Panjang
FunctionTonum (s, default)
Ifisnumerik dan <> "" lalu
tonum = clng (s)
Kalau tidak
tonum = default
Endif
Fungsi endfungsi
Konversi Pernyataan SQL ## SQL
FunctionToSQL (str)
Ifisnull (str) thstr = ""
tosql = ganti (str, "''", "'' ''")
Fungsi endfungsi
Contoh:
Dimsql
DiMstrwhere, strname, intage
strname = tosql (permintaan ("pengguna"))
intage = tonum (permintaan ("usia"), 20)
sql = "pilih*dari [pengguna]" & _
"Di mana [usia]>" & strname & _
"Dan [nama pengguna] = ''" & intage & "''"
Secara umum, melalui pertimbangan dua fungsi di atas, serangan injeksi SQL dapat dihilangkan! Jika menurut Anda itu perlu, Anda dapat menambahkan penggantian untuk chr (0) dan mengubah fungsi ToSQL ke yang berikut:
FunctionToSQL (str)
Ifisnull (str) thstr = ""
str = ganti (str, chr (0), "")
tosql = ganti (str, "''", "'' ''")
Fungsi endfungsi
Juga mencatat:
****************************************************************************
Mendeteksi fungsi yang dikirimkan secara eksternal
FunctionCheckUrlrefer ()
Dimstrlocalurl, inturllen, strurlrefer
strlocuruRl = "http://127.0.0.1"
inturllen = len (strlocalurl)
strurlrefer = lcase (request.serverVariable ("http_referer") & "")
'' Deteksi apakah halaman sebelumnya berasal dari strlocalurl
Ifleft (strurlrefer, inturllen) = strlocuruRlthen
CheckUrlrefer = true
Kalau tidak
CheckUrlrefer = false
Endif
Fungsi endfungsi
****************************************************************************
Fungsi ini dapat membantu Anda menahan tes injeksi SQL eksternal, panggil saja di kepala halaman.
Jadikan program ASP Anda lebih aman dengan dua fungsi kecil sederhana!
Selamat datang untuk mengoreksi saya (silakan tulis metode untuk memotong dua fungsi ini)!
Halaman Diskusi Terkait:
http://community.csdn.net/expert/topicview.asp?id=3585010
http://community.csdn.net/expert/topicview.asp?id=3582230
http://community.csdn.net/expert/topic/3589/3589480.xml?temp=.4866449
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
Dimqs, errc, iii
qs = request.serverVariable ("query_string")
Dimnothis (18)
Tidak ada (0) = "NetUser"