Membuat Halaman Web dengan ASP
ASP (Active Server Pages) adalah teknologi web sisi server dari Microsoft. Ia berjalan di IIS, dan halaman mencampur kode server dengan HTML. ASP.NET Core adalah arah terkini, tetapi banyak sistem yang sudah ada masih memakai ASP klasik dengan VBScript. Artikel ini menjelaskan cara permintaan ditangani, cara formulir dibaca, dan praktik yang perlu diketahui.
Catatan pengujian: komputer yang dipakai untuk menulis artikel ini tidak memiliki IIS atau ASP, jadi kodenya belum dijalankan di sini. Pasang IIS dengan ASP dan uji sendiri sebelum dipakai.
Yang Anda butuhkan
- Windows dengan IIS (Internet Information Services) dan fitur ASP diaktifkan
- Folder web di IIS, misalnya `C:\inetpub\wwwroot\demo`
Cara kerjanya
Halaman ASP pertama Anda
Buat `hello.asp` dan ketik:
<%@ Language="VBScript" %>
<html>
<body>
<h1>Halo ASP</h1>
<p>Waktu di server: <%= Now() %></p>
</body>
</html>
`<% ... %>` adalah kode yang berjalan di server, dan `<%= ... %>` menulis sebuah nilai ke dalam HTML yang dikirim kembali ke browser.
Membaca data formulir
<%@ Language="VBScript" %>
<%
Dim nama
nama = Request.Form("nama")
%>
<form method="post" action="salam.asp">
Nama: <input type="text" name="nama">
<input type="submit" value="Kirim">
</form>
<% If nama <> "" Then %>
<p>Selamat datang, <%= Server.HTMLEncode(nama) %></p>
<% End If %>
`Request.Form` membaca nilai yang dikirim. `Server.HTMLEncode` mencegah pengguna menyisipkan HTML atau skrip ke dalam halaman.
Terhubung ke basis data
ASP klasik biasanya memakai ADO untuk terhubung ke basis data. Selalu gunakan parameter, jangan menggabungkan input pengguna langsung ke teks SQL, karena itu memungkinkan SQL injection.
Kesalahan umum
- **Menampilkan input pengguna tanpa encoding:** selalu gunakan `Server.HTMLEncode`.
- **Membuat teks SQL dari input pengguna:** ini memungkinkan SQL injection. Gunakan perintah dengan parameter.
- **Fitur ASP belum diaktifkan di IIS:** halaman menampilkan kode sumber alih-alih hasil. Periksa instalasi fitur terlebih dahulu.
Langkah berikutnya
Untuk proyek baru, pertimbangkan ASP.NET Core, yang masih aktif dikembangkan. Sistem ASP yang sudah ada sebaiknya dipindahkan secara bertahap, sambil menambahkan pemeriksaan keamanan.
Ringkasan
ASP menjalankan kode di server melalui IIS dan mencampurnya dengan HTML. Poin kuncinya adalah melakukan encoding pada nilai yang ditampilkan dan memakai parameter saat berhubungan dengan basis data.