งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

ASP.NET Uthai ShiangJan Information and Communication Technology. Naresuan University.

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "ASP.NET Uthai ShiangJan Information and Communication Technology. Naresuan University."— ใบสำเนางานนำเสนอ:

1 ASP.NET Uthai ShiangJan Information and Communication Technology. Naresuan University

2 เนื้อหา ทบทวน HTML, ASP เบื้องต้น ทบทวน HTML, ASP เบื้องต้น การสร้างฟอร์มสำหรับล็อกอินเพื่อเข้าใช้ งานระบบ (Login.asp) การสร้างฟอร์มสำหรับล็อกอินเพื่อเข้าใช้ งานระบบ (Login.asp) ASP.NET ASP.NET

3 การล็อกอินเข้าใช้งาน ระบบ การเข้าใช้งานอินเทอร์เน็ต จำเป็นต้องมี การล็อกอิน เข้าใช้งานระบบเพื่อยืนยัน ตัวตนของผู้ใช้ การล็อกอินเข้าใช้งานระบบ ประกอบด้วย ชื่อผู้ใช้งานระบบ (User Name) รหัสผ่าน (Password) ระดับการใช้งาน (Priority) อื่นๆ

4 Login.asp กรอกข้อมูล User Name & Password (Login.asp) (Login.asp) เรียกดูข้อมูล User Name & Password (checkLogin.asp) (checkLogin.asp) Database Login = OK แสดงเมนูหลักสำหรับใช้ งานระบบ (mainmenu.asp) Yes No

5 ขั้นตอนการทำงาน ออกแบบ หน้า Login.asp เพื่อรับข้อมูล ส่งค่าที่ได้ไปให้กับหน้า checkLogin.asp หน้า checkLogin.asp รับค่า Username และ Password ที่ Login.asp ส่ง มาให้ เขียนภาษา SQL เพื่อเรียกดู Username และ Password ข้างต้นจากตาราง Login ในฐานข้อมูล สร้างตัวแปร Recordset เพื่อทำการประมวลผล คำสั่ง SQL ข้างต้น ตรวจสอบว่า การ Login = OK? ทำการ Redirect ไปยังหน้าเว็บเพจที่เราต้องการ

6 การออกแบบ Login.asp สร้างเว็บเพจ เพื่อรับค่า User Name และ Password ชื่อผู้ใช้ : รหัสผ่าน :

7 checkLogin.asp รับค่า User Name และ Password ที่ส่ง มาจาก Login.asp เชื่อมต่อกับข้อมูลในฐานข้อมูล เรียกค้นข้อมูล User Name และ Password จากฐานข้อมูล เปรียบเทียบ และตรวจสอบความสามารถ ในการใช้งาน มีสิทธิเข้าใช้งาน => mainmenu.asp ไม่มีสิทธิเข้าใช้งาน => Login.asp

8 รับค่า Username และ Password ที่ส่งมาจาก Login.asp <% Dim Username, Password Username = Request.Form("username") Password = Request.Form("passwd")%>

9 สร้างฐานข้อมูลที่จัดเก็บ ข้อมูลล็อกอิน ชื่อ Field ( เขต ข้อมูล ) ชนิดข้อมูล UserName (PK) TEXT(10) PasswordTEXT(10) ตาราง Login

10 เชื่อมต่อกับข้อมูลใน ฐานข้อมูล <% Dim sProvider sProvider="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("/Path of Database/myDB.mdb") %> บันทึก Code ข้างต้นไว้ในแฟ้มชื่อ Connect.asp เวลาใช้งานจริงให้อ้าง หมายเหตุ : Path ของ Database และ include file ต้อง อยู่ภายใต้ c:\Inetpub\wwwroot\folder ที่เราสร้างขึ้นเพื่อ จัดเก็บ ดังนั้น Path of Database และ Path of File จะมีค่า เท่ากับ folder ที่เราสร้างขึ้นเพื่อจัดเก็บแฟ้มทั้ง 2 ข้างต้น

11 Path of File C:\ Inetpub wwwroot myFolder db Connect.asp แทน Folder แทน File myDB.mdb Server.mappath("/myFolder/db/myDB.mdb")

12 การเรียกค้นข้อมูล Username และ Password จากฐานข้อมูล การเรียกค้นหาข้อมูลจากฐานข้อมูล ต้อง ใช้ ภาษา SQL สมมติให้ Username='admin' และ Password='123' สามารถเขียน SQL ได้ ดังนี้ SELECT Username, Password FROM Login WHERE Username='admin' AND Password='123'

13 การเรียกค้นข้อมูล Username และ Password จากฐานข้อมูล เราต้องแปลงภาษา SQL ให้อยู่ในรูปคำสั่งที่ ASP เข้าใจ โดยที่จะมีการต่อ String ของ Username และ Password ที่รับเข้ามา สามารถเขียน SQL ได้ดังนี้ Dim strSQL, Username, Password Username = Request.Form("username") ' รับค่า Username Password = Request.Form("passwd") ' รับค่า Password strSQL = SELECT Username, Password FROM Login WHERE Username='" & Username & "' AND Password='" & Password & "'"

14 การตรวจสอบว่า Username และ Password ถูกต้องหรือไม่ ? (Login = OK?) เราต้องเอา SQL ที่ได้ไปตรวจสอบกับ ตารางว่ามี Username และ Password นี้ ในฐานข้อมูลหรือไม่ ? เปิดการเชื่อมต่อกับ Recordset โดยการใช้ เมธอด Open ตรวจสอบดูว่ามีการ ส่ง Record กลับมาจาก การ Open หรือไม่ โดยใช้คุณสมบัติ EOF (End Of File) ถ้า EOF = True แสดงว่า ไม่พบข้อมูล Username และ Password ที่ต้องการ เราก็ให้ ระบบ Redirect ไปหน้า Login.asp ใหม่ ถ้า EOF = False แสดงว่า พบข้อมูล Username และ Password ที่ต้องการ เราก็ให้ระบบ Redirect ไปหน้า mainmenu.asp

15 เปิดการเชื่อมต่อกับ ตาราง Dim rs Set rs = Server.CreateObject("ADODB.RecordSet") rs.Open strSQL, sProvider, 1, 1 ' เปิดการเชื่อมต่อ If rs.EOF Then ' กรณีไม่พบข้อมูล Response.Redirect("Login.asp") Else ' กรณีพบข้อมูล Response.Redirect("mainmenu.asp") End If rs.Close ' ปิดการเชื่อมต่อ Set rs = Nothing ' คืนพื้นที่ให้กับหน่วยความจำ

16 ขั้นตอนการทำงาน รับข้อมูลในหน้า Login.asp ส่งค่าที่ได้ไปให้กับหน้า checkLogin.asp หน้า checkLogin.asp รับค่า Username และ Password ที่ Login.asp ส่ง มาให้ เขียนภาษา SQL เพื่อเรียกดู Username และ Password ข้างต้นจากตาราง Login ในฐานข้อมูล สร้างตัวแปร Recordset เพื่อทำการประมวลผล คำสั่ง SQL ข้างต้น ตรวจสอบว่า การ Login = OK? ทำการ Redirect ไปยังหน้าเว็บเพจที่เราต้องการ

17 <% Dim Username, Password Dim strSQL Dim rs Username = Request.Form("username") Password = Request.Form("passwd") strSQL = "SELECT * FROM LOGIN WHERE Username='" & Username & "' AND Password='" & Password & "'" Set rs = Server.CreateObject("ADODB.RecordSet") rs.Open strSQL, sProvider, 1, 1 ' เปิดการเชื่อมต่อ If rs.EOF Then ' ไม่พบข้อมูลผู้ใช้และรหัสผ่านที่ต้องการ Response.Redirect("Login.asp") Else' พบข้อมูลผู้ใช้และรหัสผ่านถูกต้อง Response.Redirect("mainmenu.asp") End If rs.Close ' ปิดการเชื่อมต่อ Set rs = Nothing ' คืนหน่วยความจำ %>

18 การป้องกันไม่ให้ถูก Hack การใช้ตัวแปร Session การป้องกัน SQL Injection

19 การใช้ตัวแปร Session If rs.EOF Then ' กรณีไม่พบข้อมูล Response.Redirect("Login.asp") Else ‘ กรณีพบข้อมูล Session("CanProcess") = "True" Response.Redirect("mainmenu.asp") End If

20 Mainmenu.asp ทำการแก้ไข Mainmenu.asp โดยเพิ่ม CODE ในส่วนบนสุด <% If Session( " CanProcess " ) <> " True " Then Response.Redirect( " Login.asp " ) End If %>

21 การป้องกัน SQL Injection ทำการแก้ไข checkLogin.asp <% Dim Username, Password Username = Replace(Request.Form("username"), "'", "''") Password = Replace(Request.Form("passwd"), "'", "''") %>


ดาวน์โหลด ppt ASP.NET Uthai ShiangJan Information and Communication Technology. Naresuan University.

งานนำเสนอที่คล้ายกัน


Ads by Google