Sedikit untuk mengembangkan situs web ASP dengan Dreamweaver. Jadi, apakah tidak ada perbedaan antara pemula dan veteran? Perbedaan di dalamnya besar, tetapi sulit bagi orang awam untuk melihat sekilas. Persahabatan, kinerja operasi, dan keamanan situs web antarmuka adalah tiga titik konsentrasi yang berbeda dari pemula dan veteran.
Dalam hal keamanan, masalah novis termudah adalah masalah kerentanan yang disuntikkan SQL. Gunakan NBSI 2.0 untuk memindai beberapa situs web ASP di internet, dan Anda dapat menemukan bahwa banyak situs web ASP memiliki kerentanan injeksi SQL.
Injeksi SQL yang disebut SO (injeksi SQL) adalah menggunakan celah data input programmer ke data input pengguna, yang menggunakan celah seperti deteksi yang tidak memadai atau tidak mendeteksi., Dapatkan serangan pada informasi yang Anda dapatkan.
Dapat dilihat bahwa alasan utama untuk injeksi serangan SQL tidak memverifikasi data yang dimasukkan oleh pengguna.
Permintaan HTTP umum tidak lebih dari mendapatkan dan memposting, jadi selama kami memfilter semua informasi parameter dari semua posting atau mendapatkan permintaan dalam program, kami dapat mencegah serangan injeksi SQL.
Sayangnya, DW tidak memberikan kode yang relevan, jadi jika Anda ingin mencegah serangan jenis injeksi SQL, Anda perlu memodifikasinya.
Cukup simpan program berikut sebagai sqlinection.asp, lalu hubungi header halaman yang perlu disuntikkan.
<!-#Sertakan file = sqlinection.asp->
Anda dapat melakukan suntikan pertahanan halaman.
Jika Anda ingin merujuk ke seluruh stasiun, tambahkan panggilan kepala atau langsung menambahkan kode program berikut dalam file koneksi database yang dihasilkan oleh koneksi yang dihasilkan oleh DW. file koneksi basis data.
Kode Program Umum (dikutip dari Internet untuk membuat perubahan yang tepat) sebagai berikut:
<%
'--------- Definisi Bagian -------------------
redup sql_injdata
Sql_injdata = '
Pembaruan |
Deklarasi | 1 = 1 |
Sql_inj = split (sql_injdata, | | |
'-----------------------------
Jika request.QueryString <> lalu
Untuk setiap sql_get di request.querystring
Untuk sql_data = 0 ke ubound (sql_inj)
If instr (request.querystring (sql_get),
Sql_inj (sql_data))> 0 lalu
Response.write <bahasa skrip = javascript>
Peringatan ('System mengingatkan Anda!/N/N, jangan coba -coba karakter ilegal dalam parameter untuk mencoba menyuntikkan!/N/n');
Respons.end
akhiri jika
Berikutnya
Berikutnya
Akhiri jika
'-------- Dapatkan suku cadang ---------------------
Jika request.form <> lalu
Untuk setiap sql_post di request.form
Untuk sql_data = 0 ke ubound (sql_inj)
if instr (request.form (sql_post), sql_inj (sql_data))> 0 lalu
Response.write <bahasa skrip = javascript>
Peringatan ('System mengingatkan Anda!/N/N, jangan coba -coba karakter ilegal dalam parameter untuk mencoba menyuntikkan!/N/n');
Respons.end
akhiri jika
Berikutnya
Berikutnya
akhiri jika
%>
Melalui program di atas, bahaya karakter injeksi SQL yang diajukan dari metode GET atau metode pos dapat dicapai, dan penjajah diperingatkan untuk beralih ke index.htm (beranda).