Server (ASP Server)
اینجا با «آبجکت Server در ASP» آشنا می شویم. آبجکت (Object) یعنی یک موجود آماده با قابلیت ها. سرور یعنی همان کامپیوتر میزبان سایت. با این ابزار، کارهای سختِ سمت سرور، خیلی ساده می شود.
آشنایی سریع با آبجکت Server
Server برای کارهای مهم استفاده می شود؛ مثل کدنویسی امن، مسیردهی فایل، و اجرای صفحه دیگر. «آبجکت Server در ASP» این کارها را یک جا می دهد. برای شروع، به ویژگی ScriptTimeout و چند متد مهم نگاه می کنیم.
ویژگی ScriptTimeout
ویژگی (Property) یعنی یک مقدار تنظیمی. ScriptTimeout می گوید یک اسکریپت حداکثر چند ثانیه اجرا شود. اگر برنامه طول کشید، جلوی هنگ را می گیرد.
<%
// ASP JScript
Server.ScriptTimeout = 90;
Response.Write("Timeout set to 90 seconds" + "<br/>");
%>
کدنویسی امن: HTMLEncode و URLEncode
«Encode» یعنی تبدیل متن برای نمایش امن. HTMLEncode متن را برای HTML امن می کند. URLEncode متن را برای آدرس وب امن می کند. مثل بسته بندی تمیز تکالیف قبل از تحویل.
<%
// ASP JScript
var raw = "<script>alert('x')</script> & name=علی";
var htmlSafe = Server.HTMLEncode(raw);
var urlSafe = Server.URLEncode(raw);
Response.Write("HTML Safe: " + htmlSafe + "<br/>");
Response.Write("URL Safe: " + urlSafe + "<br/>");
%>
مسیر دهی فایل: MapPath
MapPath یک مسیر وب را به مسیر واقعیِ روی دیسک تبدیل می کند. مثل پیدا کردن کمد واقعیِ دفتر کار از روی شماره اتاق.
<%
// ASP JScript
var webPath = "/data/report.txt";
var physicalPath = Server.MapPath(webPath);
Response.Write("Physical path: " + physicalPath + "<br/>");
%>
ساخت شیء جدید: CreateObject
CreateObject یک شیء کمکی می سازد. مثل آوردن یک جعبه ابزار. سپس از ابزارها استفاده می کنیم.
<%
// ASP JScript
var dict = Server.CreateObject("Scripting.Dictionary");
dict.Add("user", "amir");
Response.Write("User: " + dict.Item("user") + "<br/>");
%>
اجرای صفحه دیگر: Execute و Transfer
Execute یک فایل ASP را داخل همین صفحه اجرا می کند. Transfer همه خروجی را به صفحه دوم می فرستد. مثل رفتن از کلاس ریاضی به علوم با همه برگه ها.
<%
// ASP JScript
// توجه: فایل های target باید وجود داشته باشند.
// Server.Execute("/parts/header.asp");
// Server.Transfer("/finish.asp");
Response.Write("Execute/Transfer need real target files." + "<br/>");
%>
گرفتن آخرین خطا: GetLastError()
GetLastError() یک شیء خطا می دهد. با آن علت مشکل را می فهمیم. مثل دیدن کارنامه برای کشف درس ضعیف.
<%
// ASP JScript
var err = Server.GetLastError();
if (err != null) {
Response.Write("Error: " + err.Description + "<br/>");
}
%>
مرور ویژگی ها و متدها
از منبع: ویژگی ScriptTimeout. متدها: CreateObject، Execute، GetLastError()، HTMLEncode، MapPath، Transfer، URLEncode. برای جزئیات هرکدام می توانید صفحات مرتبط را ببینید.
ببینید: آبجکت خطا در ASP و آبجکت Session. این لینک ها مسیر یادگیری «آبجکت Server در ASP» را کامل تر می کنند.
جمع بندی سریع
- برای امنیت متن، از HTMLEncode و URLEncode استفاده کن.
- برای مسیر واقعی فایل، از MapPath کمک بگیر.
- با CreateObject ابزارهای جانبی بساز.
- با ScriptTimeout از هنگ جلوگیری کن.
- مشکل داشتی؟ GetLastError را بررسی کن.