Direkomendasikan: Penjelasan terperinci tentang Objek FileSystemObject dari ASP Apakah drive yang ditentukan ada? Contoh ini menunjukkan cara menggunakan metode DriveExists untuk mendeteksi apakah ada drive. Kode ini adalah sebagai berikut: html body % setfs = server.createObject (scripting.filesystemObject) ifffs.driveexists (c :) = truethen response.write (drive c: ada.) Lain response.wr
Setelah database digantung, banyak orang tidak tahu bagaimana menghadapinya, atau pemrosesan tidak lengkap, mengakibatkan Trojan masih muncul setelah halaman web dibuka. Artikel ini memperkenalkan solusi yang lebih baik untuk referensi Anda.Langkah 1 : Buat cadangan untuk database yang ada.
Langkah 2 : Jalankan file ASP berikut untuk menghapus JS Trojans di database. (Catatan: Conn.asp dihilangkan)
| 'Letakkan konten JS Trojan di sini: Harap ingat untuk mengubahnya ke konten JS Trojan di database Anda sendiri. <!-#includeFile = conn.asp-> <% Server.ScriptTimeout = 180 Setrstschema = conn.openschema (20) k = 1 Tabel database transfer dountilrstschema.eof ' IFRSTSCHEMA (TABLE_TYPE) = Tabethen response.writeK &. <fontColor = red> <b> & rstschema (table_name) & </b> </font>: 'Tampilkan nama tabel tabel SetRs = server.CreateObject (adodb.recordset) sql = pilih*dari [& rstschema (table_name) &] rs.opensql, Conn, 1,3 Fori = 0Tors.fields.count-1 'bepergian bidang di tabel Ifint (rs (i) .type) = 129orint (rs (i) .type) = 130orint (rs (i) .tipe) = 200orint (rs (i) .tipe) = 201orint (rs (i) .type) = 202orint (rs (i) .tipe) = 203-satu-satunya kesepakatan dengan fields dengan fields (i). conn.execute (perbarui [& rstschema (table_name) &] set & rs (i) .name & = ganti (cast (& rs (i) .name & Asvarchar (8000)), 'Letakkan konten JS Trojan di sini', '')) response.writers (i) .name && rs (i) .type & 'Tampilkan nama bidang yang dieksekusi. Endif Berikutnya Response.write <br> Endif rstschema.movenext K = K+1 Lingkaran Response.write Eksekusi berhasil %> |
Jika ada banyak tabel database, struktur basis data traversal di atas akan dihentikan oleh IIS sebelum dieksekusi. Saat ini, Anda bisa
| Jika rstschema (table_type) = tabel lalu |
Kisaran nilai k ditambahkan dengan tepat, seperti:
| IFRSTSCHEMA (TABLE_TYPE) = TABLEK> 10 dan <20then |
Dengan cara ini, hanya 9 tabel yang dioperasikan sekaligus.
Langkah 3 :
Menurut karakteristik injeksi JS database (yang akan mencakup karakter seperti <skrip, </script> dan http: //),
Masukkan kode berikut di Conn.asp:
| FunctionCheCK_SQLJS () 'Mencegah link eksternal basis data injeksi JS: true adalah menemukan tautan eksternal injeksi JS. DIMF_POST, F_GET Check_sqljs = false IfRequest.Form <> lalu 'Deteksi pada pengiriman formulir Foreachf_postinrequest.form If (instruct (lcase (request.form (f_post)), <skrip) <> 0orinstr (lcase (request.form (f_post)), </script>) <> 0) andInstr (lcase (request.form (f_post)), http: //) <> 0then Check_sqljs = true Keluar Endif Berikutnya Endif Ifrequest.QueryString <> lalu 'Deteksi pada pengiriman QueryString Foreachf_getinrequest.querystring If (instruct (lcase (request.form (f_get)), <skrip) <> 0orinstr (lcase (request.Form (f_get)), </script>) <> 0) andinstr (lcase (request.form (f_get)), http: //) <> 0then Check_sqljs = true Keluar Endif Berikutnya Endif Fungsi endfungsi FunctionCheckDataFrom () 'Periksa data yang dikirimkan sumber: true dikirim dari luar situs CheckDataFrom = true server_v1 = cstr (request.serverVariable (http_referer)) server_v2 = cstr (request.serverVariable (server_name)) IFMID (server_v1,8, len (server_v2)) <> server_v2then CheckDataFrom = false endif Fungsi endfungsi IFCheAcK_SQLJSorCheckDataFromthen Response.write <scriptLanguage = JavaScript> alert ('Eksekusi dilarang, operasi ilegal.'); </script> Response.end () Endif |
Bagikan: Tutorial untuk menafsirkan subrutine panggilan ASP Program ASP dapat memanggil subrutin melalui VBScript dan cara lain. Panggil subrutin menggunakan vbscript, kode sampel: html head %subvbproc (num1, num2) response.write (num1*num2) endsub % /head body p Anda dapat memanggil program seperti ini: /pp hasil: %callvbproc (3,4) % /pp atau, seperti ini: /pp hasil ini: