Gọi biến form biến chuỗi 2.3 Làm việc với biến Server Tp hp ny chứa biến đại diện cho tiêu đề trình duyệt thuộc tính Server, với biến Server ta biết trang thời, trang cuối mà khách hàng truy cập, địa Internet liên hệ với khách hàng, loại trình duyệt mà khỏch hng s dng Xây dựng danh mục sản phẩm 3.1 Tạo sở liệu cho cửa hàng Bước việc tạo cửa hàng trực tuyến tạo sở liệu để lưu giữ tất thông tin sản phẩm Microsoft Access sở liệu thích hợp để tạo Website thử nghiệm Website có lưu lượng thấp, nhiên ta nâng cấp sở liệu Access lên sở liệu SQL Server cách sử dụng Microsoft Upsizing Tools Công cụ cung cấp kèm theo Microsoft Access 2000 Tạo bảng products: Product_id AutoNumber Chứa số dành cho sản phẩm bảng Đưa cửa hàng lên mạng Internet LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Product_name Text Chứa tên sản phẩm bảng Product_price Currency Chứa giá thời sản phẩm Product_picture Text Chứa đường dẫn đến hình ảnh sản phẩm Product_category Text Chứa loại sản phẩm Product_briefdesc Memo Chứa mô tả ngắn sản phẩm Product_fulldesc Memo Chứa mô tả đầy đủ sản phẩm, cột trang đầy thơng tin Product_status Number Chứa thơng tin tình trạng thời sản phẩm Kết nối sở liệu Hai loại DSN khác tạo Nếu tạo file DSN, thông tin kết nối sở liệu lưu file Nếu tạo System DSN thơng tin kết nối sở liệu lưu registry máy tính Một kết nối sở liệu đại diện trang ASP đối tượng Connection ADO Mở kết nối sở liệu (Data Source Name: accessDSN) Việc mở kết nối sở liệu giống mở kết nối điện thoại Sau kết nối mở, thơng điệp truyền qua lại script ASP sở liệu 3.2 T¹o form addproducts Trang addProducts.asp chứa form HTML cho phép nhập vào thông tin sản phẩm, trang manageProducts.asp – đệ trình form chứa addProducts.asp trang thực thêm thông tin sản phẩm vào sở liệu Trang addProducts.asp chứa form HTML chuẩn với trường tương ứng với cột bảng Products Add Product Add Product Product Name: Đưa cửa hàng lên mạng Internet LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Product Price: Product Picture: Product Category: Product Brief Desc: Product Full Desc: Product Status: INACTIVE ACTIVE Mục đích thu thập thông tin sản phẩm thông qua form HTML Thông tin sản phẩm không thêm vào sở liệu form đệ trình trang thứ hai – manageProducts.asp yêu cầu "" THEN Response.Cookies("username") = username Response.Cookies("username").Expires = "25/12/2002" Response.Cookies("password") = password Response.Cookies("password").Expires = "25/12/2002" END IF Kế tiếp, biến tên sp xây dựng Biến sử dụng để truyền thông tin bảo mật (chẳng hạn username password khách hàng biến chuỗi truy vấn) Cuối cùng, biến tên sf xây dựng Biến sf xử dụng để truyền thông tin bảo mật khách hàng trường ẩn Việc không nắm vững cách thức tương tác trang login.asp, register.asp checkpassword.asp dễ xảy ta xem xét ví dụ cách thức người dùng gặp phải trang Truyền thông tin bảo mật từ trang đến trang khác Khi khách hàng đăng nhập vào trang Website, khách hàng khơng bị quấy rầy với việc đăng nhập vào trang khác mà họ yêu cầu Việc nhập vào username password để xem trang nhanh chóng làm cho khách hàng cảm thấy mệt mỏi Thông tin nên truyền đến trang cách tự động Có năm chế phổ biến sử dụng để truyền thông tin, bao gồm thông tin bảo mật, từ trang ASP đến trang khác: Các cookies trình duyệt Các biến Session Các Form Các biến chuỗi truy vấn Các tiêu đề trình duyệt Trang checkpassword.asp sử dụng bốn phương pháp để theo dõi thông tin bảo mật khách hàng Thuận lợi cookie trình duyệt chúng cung cấp phương pháp lưu trữ thông tin khách hàng qua nhiều viếng thăm đến Website Vì thế, người dùng nhập vào username password lần họ khơng cần nhập lại thông tin Về mặt lý thuyết, người dùng tự động xác thực lần họ yêu cầu trang Bất lợi cookie khơng phải tất trình duyệt hỗ trợ Vì nhiều lý do, cookie thường bị hỏng Vì ta khơng nên dựa vào cookie để xác thực khách hàng qua nhiều trang Vệc sử dụng biến chuỗi truy vấn biến Form đáng tin cậy việc sử dụng cookie biến session Nếu muốn Website hoạt động với trình duyệt nào, ta cần xem xét việc sử dụng biến Form chuỗi truy vấn để truyền thông tin bảo mật từ trang đến trang khác Việc sử dụng biến form chuỗi truy vấn có hai bất lợi Đầu tiên, ta sử dụng biến chuỗi truy vấn, biến thấy rõ ràng địa trình duyệt Quan trọng hơn, việc truyền biến chuỗi truy vấn biến form từ trang đến trang khác nhiều công đoạn Ta phải đưa biến vào liên kết siêu văn trường trang để truyền biến đến trang khác 5.3 sö dông hybrid authentication Đưa cửa hàng lên mạng Internet 52 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Tìm hiểu cách làm việc Basic Authentication Trước sâu hơn, ta cần hiểu chi tiết cách làm việc Basic authentication Dưới cách nhìn tổng quan xảy người dùng yêu cầu trang bảo vệ Basic authentication Yêu cầu trang bảo vệ Basic authentication Web server phản hồi với mã tình trạng 401 Not Authorized Mã tình trạng 401 buộc hộp thoại password xuất trình duyệt Nhập username password nhấp vào nút OK Trình duyệt ta gửi username password tiêu đề trình duyệt (một tiêu đề yêu cầu) tên AUTHORIZATION Trường AUTHORIZATION chứa username password mã hoá sử dụng mã base64 Web server giải mã username password truyền tiêu đề AUTHORIZATION kiểm tra xem chúng có tương ứng với tài khoản Windows hợp lệ hay không Nếu username password hợp lệ trang hiển thị Ngược lại, Web server gởi mã tình trạng 401 trình bắt đầu lại Sau trình duyệt xác thực Website, trình duyệt tiếp tục gởi tiêu đề AUTHORIZATION với username password lần trang yêu cầu Điều có nghĩa ta lo lắng việc truyền username password từ trang đến trang khác Nhưng khuyết điểm Basic authentication Internet Information Server kiểm chứng username password với tài khoản Windows Điều có nghĩa ta khơng thể dễ dàng sử dụng Basic authentication tạo hệ thống đăng ký tự động Để giải vấn đề ta cần đọc username password từ tiêu đề AUTHORIZATION kiểm chứng username password với bảng sở liệu Buộc hộp thoại password xuất Ta buộc hộp thoại password xuất việc gởi mã tình trạng 401 Not Authorized đến trình duyệt Đối tượng Response có thuộc tính tên Status cung cấp cho ta phương pháp gởi mã tình trạng Buộc hộp thoại password xuất Proteced Page The AUTHORIZATION header contains: Đưa cửa hàng lên mạng Internet 53 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Tiêu đề trình duyệt AUTHORIZATION gọi từ tập hợp Server- Variable Nếu tiêu đề AUTHORIZATION giá trị mã tình trạng 401 Not Authorized gởi đến trình duyệt Mã tình trạng buộc hộp thoại password xuất Phương thức addHeader đối tượng Response sử dụng để thêm tiêu đề tên WWW-Authenticate Một trình duyệt sử dụng tiêu đề để phát loại xác thực sử dụng Sau người dùng nhập user- name password vào hộp thoại password, trình duyệt gởi tiêu đề AUTHO-RIZATION Nếu script gọi tiêu đề AUTHORIZATION hiển thị giá trị tiêu đề Giải mã tiêu đề Authorization Khi trình duyệt gởi tiêu đề AUTHORIZATION, gởi tiêu đề tình trạng mã hố base64 Base64 phương pháp mã hoá văn cũ Trước phần chuẩn MIDE dành cho việc gởi đính kèm với thơng điệp Bước việc giải mã văn mã hoá base64 chuyển ký tự từ bảng mã ANSI thành bảng mã base Ta cần ánh xạ ký tự thành mã từ đến 65: A-Z ánh xạ thành 0-25 A-z ánh xạ thành 26-51 0-9 ánh xạ thành 52-61 + ánh xạ thành 62 / ánh xạ thành 63 Chúng ta sử dụng đối tượng Dictionary để tạo ánh xạ từ bảng mã ANSI thành bảng mã base UUEncoding SET UUEncode = Server.CreateObject("Scripting.Dictionary") FOR i=0 TO 63 SELECT CASE i CASE offset = 65 CASE 26 offset = 71 CASE 52 offset = END SELECT UUEncode(CHR(i + offset)) = i NEXT Tạo thực thể đối tượng Dictionary Một vòng lặp FOR…NEXT sử dụng để duyệt qua số từ đến 63 Câu lệnh SELECT…CASE gán độ dời thích hợp cho ký tự ANSI Đối tượng Dictionary có ký tự ANSI cho khố mã bảng mã base cho giá trị Kế tiếp ta cần tháo gỡ ký tự Khi văn mã hoá base64 ký tự thường thể hiển bốn byte nén thành ba byte 00aaaaaa 00bbbbbb 00cccccc 00dddddd c nén thành aaaaaabb bbbbcccc ccdddddd Để giải mã văn này, cần chuyển nhóm ba byte thành bốn byte Điều thực với hàm Decode() Đưa cửa hàng lên mạng Internet 54 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Hàm Decode() FUNCTION Decode(theString) FOR byteGroup = TO Len(theString) Step numBytes = groupBytes = FOR charCounter = TO thisChar = Mid(theString, byteGroup + CharCounter, 1) IF thisChar = "" THEN numBytes = numBytes – thisBytes = ELSE thisBytes = UUEncode(thisChar) END IF groupBytes = 64 * groupBytes + thisBytes NEXT FOR k=1 TO numBytes SELECT CASE k CASE 1: thisChar = groupBytes\65536 CASE 2: thisChar = (groupBytes And 65535)\256 CASE 3: thisChar = (groupBytes And 255) END SELECT Decode = Decode & Chr(thisChar) NEXT NEXT END FUNCTION Cuối cùng, ta trích username password từ tiêu đề AUTHORIZATION Script Hybrid authentication gọi username password từ hộp thoại password chuẩn so sánh chúng với bảng userlist Hybrid authentication (xác thực hỗn hợp) Welcome Welcome ! Phần lớn script dành cho việc giải mã username password chứa tiêu đề AUTHORIZATION Tiếp theo tiêu đề AUTHORIZATION gọi từ tập hợp Request Nếu tiêu đề AUTHORIZATION khơng chứa thơng tin tình trạng 401 gởi đến trình duyệt buộc hộp thoại password xuất Sau sáu ký tự tích từ tiêu đề AUTHORIZATION Sáu ký tự chứa văn BASIC, vốn định loại xác thực, ta biết điều ta bỏ ký tự Tiêu đề AUTHORIZATION giải mã base64 với giúp đỡ hàm Decode() Tiêu đề giải mã chứa username password phân tách dấu hai chấm Hàm SPLIT() VBScript sử dụng để trích username password từ tiêu đề Cuối username password so sánh với username password chứa userlist Nếu khơng có trùng khớp, mã tình trạng 401 gởi đến trình duyệt để buộc hộp thoại password hiển thị Ngược lại, người dùng thấy trang Đưa cửa hàng lên mạng Internet 56 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ... chợ khách hàng Khi khách hàng thêm mục hàng vào giỏ chợ ảo họ tham quan cửa hàng mục hàng thêm vào bảng Bảng Order Khi khách hàng tốn hồn thành đơn đặt hàng tất sản phẩm giỏ chợ khách hàng chuyển... cửa hàng trực tuyến Mỗi người Đưa cửa hàng lên mạng Internet 26 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com dùng có username User_password Number Chứa password bí mật mà khách hàng. .. Connection Kế tiếp mục hàng bảng Cart chuyển đến bảng khách hàng Cuối giao dịch kết thúc Đưa cửa hàng lên mạng Internet 41 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Một giao dịch ADO