تموچين محمدي

رتبه کاربر: مدیریت ارشد سایت
تعداد بحث های ایجاد شده: 501
امتیاز بحث های ایجاد شده: 1042

تعداد بازدید: 2260
امتیاز بحث: 0

ايجاد يک سيستم Login براي ورود
1387/06/08

امروزه اغلب سايتهايي را كه مشاهده مي كنيد معمولا داراي يك سيستم Login هستند كه بوسيله يك شناسه كاربري (UserID) و يك كلمه عبور (Password)، قادر به تشخيص افراد خاصي از ميان تمام مراجعه كنندگان به سايت هستند. يك نمونه بارز آن صفحه SignIn سايت معروف Yahoo! براي ورود به پست الكترونيك كاربران است كه ياهو پس از بررسي وجود شناسه كاربري و صحت كلمه عبور وارد شده، به كاربران اجازه ورود به صندوق پستي خود را مي دهد. در اين مقاله سعي شده است با ساخت يك برنامه ساده Login توضيحاتي درباره ساختار و نحوه كار آنها بيان نمايم ؛ قبل از هر چيز ما نياز به ساختن يك بانك اطلاعاتي براي ذخيره كردن اطلاعات كاربران سايت داريم. اين بانك اطلاعاتي مي تواند بوسيله برنامه هاي مختلفي از جمله Access ساخته شود. بانك اطلاعاتي مورد نياز براي اين برنامه شامل يك جدول بنام Members و دو ستون به نامهاي UserID وPassword براي ذخيره اطلاعات كاربران است. همچنين دستور SQL براي ساختن اين جدول در صفحات ASP بصورت زير است : Create Table Members ( UserID(20) Password(15) ) پس از ساختن اين بانك اطلاعاتي نياز به ساخت يك فرم ساده براي دريافت اطلاعات كاربران داريم كه آنرا در داخل صفحه اي بنام login.html مي سازيم. اين صفحه به سادگي و بوسيله دستورات مقدماتي HTML قابل تهيه است که بصورت زير ميباشد :

<html>

<head>
<title>Login</title>
</head>

<body>

<table align="center" border="0" cellpadding="0" cellspacing="0" width="300">
    <tr>
        <td align="center" colspan="2">
        <h2>Login Members</h2>
        </td>
    </tr>
    <tr height="35">
        <td align="right" width="100">
        <form action="login-action.asp" method="post">
            UserID&nbsp;:&nbsp;
        </form>
        </td>
        <td align="Left"><input name="UserID" size="20" type="text"> </td>
    </tr>
    <tr height="35">
        <td align="right">Password&nbsp;:&nbsp; </td>
        <td align="left"><input name="Password" size="20" type="Password"> </td>
    </tr>
    <tr height="35">
        <td align="center" colspan="2">
        <input name="Submit" type="Submit" value="Login"> </td>
    </tr>
</table>
</form>

</body>

</html>



در كد بالا چند نكته قابل توجه وجود دارد : Form method=Post نحوه ارسال اطلاعات فرم را مشخص مي كند. بدين صورت كه اگر ما بخواهيم اطلاعات دريافتي از يك كاربر را به صفحه ديگري براي پردازش ارسال كنيم، بايد از اين متد، يعني متد Post استفاده كنيم. اطلاعاتي كه بوسيله متد Post ارسال مي شوند، در صفحه بعدي بوسيله شئ Request و بصورت زير قابل بازيابي هستند Request.Form("fieldname") Action=login-action.asp مقداري كه در مقابل ويژگي Action در دستور Form قرار گرفته، نام فايلي است كه اطلاعات فرم پس از دريافت از كاربر، به آن صفحه ارسال مي شود. ويژگي Name در دستور Input نام متغيري است كه كلمه ورودي كاربر در فيلد جاري در آن ذخيره مي شود. هر كلمه اي كه كاربر در يك فيلد وارد مي كند در صفحه مقصد بوسيله نامي كه براي آن فيلد تعيين شده قابل دسترسي است. پس از ساخت بانك اطلاعاتي و يك فرم ساده براي دريافت اطلاعات كاربران، نوبت به ساخت صفحه اي براي پردازش و پاسخ متقابل به اطلاعات ورودي كاربران است. اين صفحه را با نام login-action.asp مي سازيم :



<%@<Language="VBScript"%>
 <%User = Request.Form("UserID")
Pass = Request.Form("Password")
Set AdoCon = Server.CreateObject("ADODB.Connection")
StrCon = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("Users.mdb") AdoCon.Open StrCon Set AdoRec = Server.CreateObject("ADODB.Recordset")
StrSQL = "SELECT * FROM Members WHERE UserID =’" & User & "’" AdoRec.Open StrSQL, StrCon
IF NOT AdoRec.EOF Then IF Pass = Trim(AdoRec("Password")) Then
Response.Write ("Welcome " & User)

نظرات کاربران
ترتیب نظرات: جدیدترین به قدیمی ترین
سي یتب (1387/07/27 22:46:17)

ممنون مهندس تموچين عزيز البته يک سري مسائل امنيتي در تکه برنامه شما رعايت نشده



محمد اژدری (1387/07/14 1:0:35)
ممنون از مطلب مفيدت
يه نکته...
الآن با اومدن تکنولوژي Net. فکر نمي کني بهتر باشه کم کم رخت از بام asp بکنيم و به aspx کوچ کنيم؟
جالبه بدوني که من همين الآن دارم واسه پروژه اي که واسه يکي از مشتري هام آماده مي کنم يه سيستم ورود و خروج راه ميندازم.
اگه ممکنه يه کم راجع به کار aspx با کوکي ها رو توضيح بده.
مرسي




 1  
تمام حقوق برای سایت Tamoochin.com محفوظ است
©2024 Tamoochin.com | TCOM