Direkomendasikan: Contoh ASP: Menguji Server Web Berikut ini adalah konten yang dikutip: <html> <head> <title> uji server web </iteme> </head> <body> <script l
Beberapa kesalahan umum yang dilakukan oleh pemula ASP1. Buka lagi sebelum set rekaman ditutup:
------------------------------------
SQL = Pilih * dari tes
Rs.open SQL, Conn, 1,1
Jika tidak rs.eof maka
redup myname
myName = rs (nama)
akhiri jika
SQL = SELECT * dari MyBook
Rs.open SQL, Conn, 1,1
-------------------------------------
Solusi: Tutup rs.close sebelum rs.open kedua
atau
atur rs1 = server.CreateObject
RS1.Open SQL, Conn, 1,1
2. Gunakan kata kunci SQL untuk membuat nama tabel atau nama bidang
-------------------------------------
sql = pilih * dari pengguna
Rs.open SQL, Conn, 1,1
-------------------------------------
Pengguna adalah kata kunci SQL
Solusi: Ubah ke
SQL = Pilih * dari [pengguna]
3. Gunakan penguncian untuk memperbarui
-------------------------------------
SQL = Pilih * dari [pengguna]
Rs.open SQL, Conn, 1,1
rs.addnew
atau
RS (nama pengguna) = aa
rs.update
-------------------------------------
Set rekaman saat ini terbuka untuk baca saja
menyelesaikan:
Berubah menjadi
Rs.open SQL, Conn, 1,3
4. Nilai bidang perbandingan yang digunakan dalam pernyataan kueri tidak cocok dengan jenis bidang
-----------------------------------------
sql = pilih * dari [pengguna] di mana id = '; & myid & ';
Rs.open SQL, Conn, 1,1
-----------------------------------------
Dengan asumsi bahwa ID desain dalam tabel adalah numerik, maka kesalahan terjadi kadang -kadang.
menyelesaikan:
sql = pilih * dari [pengguna] di mana id = & myid
5. Terjadi kesalahan tanpa memeriksa nilai variabel
-----------------------------------------
sql = pilih * dari [pengguna] di mana id = & myid
Rs.open SQL, Conn, 1,1
-----------------------------------------
Dengan asumsi bahwa nilai variabel myID adalah nol saat ini, maka SQL akan menjadi
sql = pilih * dari [pengguna] di mana id =
menyelesaikan:
Tambahkan di depan
jika isnull (myid) maka pesan kesalahan
6. Terjadi kesalahan tanpa memeriksa jenis nilai variabel
-----------------------------------------
sql = pilih * dari [pengguna] di mana id = & myid
Rs.open SQL, Conn, 1,1
-----------------------------------------
Asumsikan bahwa ID adalah numerik, nilai variabel MYID tidak nol saat ini, tetapi merupakan karakter. Misalnya, MyID adalah AA saat ini.
Maka SQL akan menjadi
SQL = Pilih * dari [pengguna] di mana id = aa
menyelesaikan:
Tambahkan di depan
if isNumeric (myid) = false maka pesan kesalahan
Ini juga dapat secara efektif mencegah serangan kerentanan injeksi SQL.
7. Tidak dapat diperbarui karena izin NTFS di direktori tempat file database berada. Database atau objek adalah kesalahan baca saja.
menjelaskan:
Sistem Win2K melanjutkan izin NTFS dari sistem WINNT.
Ada pengaturan keamanan default untuk folder di sistem.
Pengguna default sistem saat mengakses WWW melalui HTTP adalah pengguna nama IUSR_COMPUTER, yang termasuk dalam grup tamu.
Saat diakses melalui HTTP, Anda dapat memodifikasi data dengan ASP atau JSP, atau program PHP atau .NET:
Misalnya:
Saat membuka artikel tertentu, program ini menetapkan jumlah bacaan artikel = jumlah asli bacaan 1
melaksanakan
Conn.execute (Perbarui Seni Set Klik = Klik 1 Di mana ID = N)
Ketika sebuah pernyataan dibuat, kesalahan terjadi jika pengguna nama IUSR_COMPUTER tidak memiliki izin menulis ke database.
Larutan:
Temukan direktori tempat database berada
Tab Keamanan "Properties" klik kanan "Atur izin tulis pengguna nama iUSR_COMPUTER (tentu saja, itu juga bisa menjadi semua orang)
Bagikan: Delapan tip optimasi pengkodean ASP ASP (Active Server Page) adalah teknologi pengembangan halaman web yang dinamis berdasarkan platform PWS (Personal Web Server) & IIS (Internet Information Server) yang diluncurkan oleh Microsoft, dan sekarang menjadi semakin populer.