بناء صفحات ويب بـ ASP

بناء صفحات الويب بـ ASP

ASP (Active Server Pages) تقنية ويب من مايكروسوفت تعمل على الخادم عبر IIS، وتمزج صفحاتها كود الخادم مع HTML. يتجه التطوير حاليًا إلى ASP.NET Core، لكن كثيرًا من الأنظمة القائمة ما زالت تستخدم ASP الكلاسيكية بلغة VBScript. تشرح هذه المقالة كيفية معالجة الطلبات، وقراءة بيانات النماذج، والممارسات التي ينبغي معرفتها.

ملاحظة اختبار: الحاسوب الذي كُتبت عليه هذه المقالة لا يحتوي على IIS أو ASP، لذلك لم يُشغَّل الكود هنا. ثبّت IIS مع ASP واختبره بنفسك قبل استخدامه.

ما الذي تحتاجه

طريقة العمل

مخطط: يرسل المتصفح طلبًا إلى صفحة ASP على IIS ويستقبل HTML في المقابل
مخطط: يرسل المتصفح طلبًا إلى صفحة ASP على IIS ويستقبل HTML في المقابل

أول صفحة ASP

أنشئ الملف `hello.asp` واكتب:

<%@ Language="VBScript" %>
<html>
<body>
  <h1>สวัสดี ASP</h1>
  <p>เวลาบนเซิร์ฟเวอร์: <%= Now() %></p>
</body>
</html>

يمثل `<% ... %>` كودًا يعمل على الخادم، ويكتب `<%= ... %>` القيمة داخل HTML المُرسَل إلى المتصفح.

قراءة بيانات النموذج

<%@ Language="VBScript" %>
<%
Dim name
name = Request.Form("name")
%>
<form method="post" action="greet.asp">
  ชื่อ: <input type="text" name="name">
  <input type="submit" value="ส่ง">
</form>
<% If name <> "" Then %>
  <p>ยินดีต้อนรับ <%= Server.HTMLEncode(name) %></p>
<% End If %>

تقرأ `Request.Form` القيمة المُرسَلة. وتمنع `Server.HTMLEncode` المستخدم من إدراج HTML أو سكربتات في الصفحة.

الاتصال بقاعدة البيانات

تستخدم ASP الكلاسيكية عادةً ADO للاتصال بقواعد البيانات. لا تُلصق أبدًا مدخلات المستخدم مباشرة داخل نص SQL، بل استخدم المعاملات (Parameters)، وإلا فستحدث ثغرة حقن SQL.

أخطاء شائعة

الخطوات التالية

في المشاريع الجديدة، فكّر في ASP.NET Core لأنه مدعوم ومحدَّث باستمرار. أما الأنظمة القائمة على ASP فينبغي ترحيلها تدريجيًا مع إضافة إجراءات الأمان.

الخلاصة

تُشغّل ASP الكود على الخادم عبر IIS وتدمجه مع HTML. النقطتان الأساسيتان هما ترميز القيم المعروضة، واستخدام المعاملات عند التعامل مع قاعدة البيانات.