Injeksi SQL telah dimainkan oleh apa yang disebut master peretas pada level tersebut, dan ditemukan bahwa sebagian besar intrusi peretas sekarang didasarkan pada injeksi SQL. Hei, siapa yang memudahkan untuk memulai? Oke, jangan bicara omong kosong, sekarang saya mulai mengatakan bagaimana jika Tulis program anti-injeksi SQL umum. Permintaan http umum tidak lebih dari dapatkan dan posting, jadi selama kita memfilter semua karakter ilegal di posting atau informasi parameter dalam permintaan dapatkan di file, kita bisa menilai dengan menerapkan pemfilteran informasi permintaan http. Apakah ini terkena serangan injeksi SQL?
Permintaan get yang diteruskan oleh IIS ke asp.dll berbentuk string ketika data diteruskan ke Request.QueryString, parser asp akan menganalisis informasi Request.QueryString, dan kemudian memisahkan konten setiap array sesuai dengan. "&" Data dicegat sebagai berikut:
Pertama, kami mendefinisikan bahwa permintaan tidak boleh berisi karakter berikut:
'|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate |char|deklarasikan
setiap karakter dipisahkan dengan "|", lalu kita tentukan Request.QueryString yang didapat. Kode spesifiknya adalah sebagai berikut:
dim sql_injdata
SQL_injdata = "'|dan|exec|masukkan|pilih|hapus|perbarui|hitung|*|%|chr|mid|master|truncate|char|deklarasikan"
SQL_inj = membagi(SQL_Injdata,"|")
Jika Request.QueryString<>"" Lalu
Untuk Setiap SQL_Dapatkan Di Permintaan.QueryString
Untuk SQL_Data=0 Ke Ubound(SQL_inj)
jika instr(Request.QueryString(SQL_Get),Sql_Inj(Sql_DATA))>0 Lalu
Response.Write "<Bahasa Skrip=****>alert('Prompt Sistem Anti-injeksi Universal SQL Aliansi Film Dunia ↓nn Harap jangan menyertakan karakter ilegal dalam parameter dan coba menyuntikkan!'); history.back(- 1)</ Skrip>"
Respon.akhir
berakhir jika
Berikutnya
Berikutnya
End If
Dengan cara ini, kita telah mengimplementasikan intersepsi injeksi permintaan get, tetapi kita juga perlu memfilter permintaan posting, jadi kita harus terus mempertimbangkan request.form, yang juga ada dalam bentuk array membuat penilaian putaran lain. Kodenya sebagai berikut :
If Request.Form<>"" Then
Untuk Setiap Sql_Post Di Request.Form
Untuk SQL_Data=0 Ke Ubound(SQL_inj)
jika instr(Request.Form(Sql_Post),Sql_Inj(Sql_DATA))>0 Lalu
Response.Write "<Bahasa Skrip=****>alert('World Movie Alliance SQL sistem anti-injeksi universal meminta ↓nn Harap jangan menyertakan karakter ilegal dalam parameter dan coba menyuntikkan! nnHTTP://www.521movie. com '); history.back(-1)</Script>"
Respon.akhir
berakhir jika
Berikutnya
Berikutnya
akhir jika
OK, Anda sudah selesai. Kami telah menerapkan intersepsi informasi untuk permintaan dapatkan dan posting. Anda hanya perlu merujuk halaman ini sebelum membuka file database seperti conn.asp. Anda dapat terus mengembangkan program Anda tanpa khawatir apakah Anda akan diserang oleh injeksi SQL lagi. Bukan?