Hai phương thức tích hợp thanh toán điện tử qua Authorize.net

Một phần của tài liệu Đồ án tốt nghiệp nghiên cứu vấn đề bảo mật trong xây dựng ứng dụng Ecommerce pptx (Trang 82 - 138)

Authorize.net cung cấp hai phương thức để tích hợp thanh toán điện tử vào trong website của người bán hàng:

40. Phương thức thứ nhất được gọi là Simple Integration Method (SIM), với phương thức này, khi yêu cầu thanh toán, khách hàng sẻ được chuyển sang trang web của authorize.net để tiến hành cung cấp các thông tin cần thiết cho việc thanh toán. Sau khi hoàn tất quá trình thanh toán người dùng sẻ được chuyển lại trang web bán hàng. Phương thức này phù hợp cho những trang web bán hàng nhỏ.

41. Phương thức thứ hai được gọi là Advanced Integration Method (AIM), phương thức này phức tạp hơn phương thức trên, nhưng bù lại người dùng sẻ không bị chuyển sang trang web của authorize.net mà có thể xử lý việc thanh toán trên trang web bán hàng. Sau khi thu thập đủ thông tin cho việc thanh toán, trang web bán hàng sẽ gửi một yêu cầu xác thực hay chuyển khoản lên trên trang web của authorize.net, authorize.net sẽ nhận và xử lý yêu cầu, sau đó gửi trả lại một kết quả. Trang web bán hàng sẽ nhận kết quả, và tùy theo kết quả nhận về sẽ tiến hành xử lý tương ưng. Phương thức này phù hợp với những website bán hàng lớn.

Chương 3. PHÂN TÍCH HỆ THỐNG 3.1. Yêu cầu hệ

42. Quản lý được thông tin máy tính xách tay và các

linh kiện liên quan.

43. Quản lý được các hóa đơn mua hàng.

44. Quản lý được thông tin chuyển hàng của khách hàng.

45. Thiết lập được chế độ bảo mật SSL trên máy chủ.

46. Khách hàng có thể xem hàng.

47. Khách hàng có thể đăng ký mua hàng và đăng ký

chuyển hàng.

48. Thanh toán được bằng Credit Card.

3.2. Ngôn ngữ và các kỹ thuật

3.2.1. Ngôn ngữ lập trình và công cụ phát triển

49. Ngôn ngữ: ASP.NET 2.0 C#

50. Microsoft Net Framework 3.5

51. Công cụ phát triển: Microsoft Visual Studio 2008

Professional

3.2.2. Hệ quản trị cơ sở dữ liệu

Microsoft SQL Server 2005 Express Edition.

3.2.3. Các kỹ thuật và công nghệ

52. Công nghệ Ajax: Microsoft ASP.NET 2.0 AJAX Extensions 1.0 và Microsoft Ajax Control Toolkit 1.0.20229.0

3.3. Các công việc cần giải quyết

53. Khảo sát yêu cầu

54. Phân tích thiết kế cấu trúc hệ thống

55. Vẽ mô hình ER và hiện thực thành cơ sở dữ liệu

56. Vẽ các mô hình hệ thống

57. Thiết kế giao diện

58. Viết chương trình

3.4. Các mô hình3.4.1. ERD 3.4.1. ERD Relationship_8 Relationship_9 Relationship_15 Relationship_14 0,n 0,n 0,n 0,n Relationship_12 Relationship_10 Relationship_11 Relationship_13 Relationship_16 Relationship_18 Relationship_17 Relationship_19 MANUFACTURE mfg_id name description <pi> Number Variable characters (50) Variable characters (200) <M> Identifier_1 <pi> NOTEBOOK product_id name bluetooth vga_out pcmcia_slots usb_ports ieee_1384_ports weight warranty price viewed create_on last_edit_on product_description <pi> Integer Variable characters (50) Boolean Boolean Short integer Short integer Short integer Float Float Integer Integer Date & Time Date & Time Text <M> Identifier_1 <pi> CATEGORY cate_id name description <pi> Integer Variable characters (50) Variable characters (200) <M> Identifier_1 <pi> DEVICE device_id cpu_speed cpu_cores cpu_bus_speed cpu_l2_cache_size cpu_mfg_tech mb_bus_speed mb_max_ram batery_max_hour batery_cells graphic_memory_size graphic_memory_shared ram_size ram_speed hdd_size hdd_speed display_size display_resolution_width display_resolution_height display_widescreen wc_resolution <pi> Integer Float Short integer Short integer Short integer Short integer Short integer Integer Short float Short integer Short integer Boolean Short integer Integer Short integer Integer Short integer Short integer Short integer Boolean Short float <M> Identifier_1 <pi> DEVICE_CATEGORY device_category_id name description <pi> Integer Variable characters (50) Variable characters (200) <M> Identifier_1 <pi> DEVICE_TYPE device_type_id name description <pi> Integer Variable characters (50) Variable characters (200) <M> Identifier_1 <pi> SYS_USER sys_username sys_email password name telephone (adsbygoogle = window.adsbygoogle || []).push({});

<pi> Variable characters (20) Variable characters (30) Variable characters (30) Variable characters (50) Variable characters (20) <M> Identifier_1 <pi> CUSTOMER username password first_name last_name telephone email birthday street address postcode

<pi> Variable characters (20) Variable characters (30) Variable characters (20) Variable characters (20) Variable characters (20) Variable characters (50) Date Variable characters (100) Variable characters (100) Variable characters (7) <M> IDENTIFIER_1 <pi> STATE state_id state_name <pi> Integer Variable characters (50) <M> Identifier_1 <pi> SYS_GROUP sys_group_id name description manage_product manage_user manage_system manage_order <pi> Integer Variable characters (50) Variable characters (200) Boolean Boolean Boolean Boolean <M> Identifier_1 <pi> SHOPPING_CART shop_cart_id check_out_date checked_out <pi> Integer Date & Time Boolean <M> Identifier_1 <pi> SHOPPING_CART_DET AIL quantity price add_date Short integer Integer Time NOTEBOOK_DEVICE DEVICE_CATEGORY_T YPE device_category_type_id name description <pi> Integer Variable characters (50) Variable characters (200) <M> Identifier_1 <pi> SYS_LOG log_id time content <pi> Integer Date & Time Text <M> <M> Identifier_1 <pi> ORDER order_id order_total_quantities order_total_weight other_subtotal other_tax other_total processed credit_card_info authorization_result authorization_transaction_id authorization_approval_code authorization_response_code authorization_on transaction_state capture_transaction_id captured_on ship_first_name ship_last_name ship_telephone ship_cellphone ship_email ship_street ship_address ship_city ship_state ship_postcode bill_first_name bill_last_name bill_telephone bill_street bill_address bill_city bill_state bill_postcode create_on <pi> Integer Integer Float Money Money Money Boolean Text Variable characters (4000) Variable characters (100) Variable characters (10) Variable characters (100) Date & Time Short integer Variable characters (100) Date & Time Variable characters (20) Variable characters (20) Variable characters (20) Variable characters (20) Variable characters (50) Variable characters (100) Variable characters (100) Variable characters (100) Variable characters (50) Variable characters (7) Variable characters (20) Variable characters (20) Variable characters (20) Variable characters (100) Variable characters (100) Variable characters (50) Variable characters (50) Variable characters (7) Date & Time

<M> Identifier_1 <pi> COUNTRY country_id country_name two_iso_code thre_iso_code Integer Variable characters (30) Characters (2) Variable characters (3) SETTING setting_id setting_name setting_value encrypted description <pi> Integer Variable characters (100) Text Boolean Variable characters (200) <M> Identifier_1 <pi> Hình 3.26 Mô hình ERD

3.4.2. Mô hình Use Case

3.4.2.1. Khách hàng

Kiem tra thong tin the tin dung

Yeu cau chuyen Khoan Xem Hang

Them San Pham Vao Gio Hang

Cap Nhat Gio Hang

Mua hang

<<include>>

<<extend>> Dang Ky

DangNhap Quan ly thong tin khach hang

Khach Hang

<<include>>

3.4.2.2. Quản trị viên và nhân viên

Ở phần này người dùng phải đăng nhập vào hệ thống trước khi thực hiện việc quản lý và cập nhật thông tin.

Cau hinh he thong [admin]

Quan Ly Nhan vien [admin]

Quan tri vien

Quan Ly san pham

Quan Ly hoa don Nhan vien

Kiem tra quyen <<include>>

<<include>>

<<include>>

<<include>>

3.4.3. Mô hình hoạt động (Activity)

3.4.3.1. Đăng ký thành viên mới

Khach hang nhap thong tin dang ky va yeu cau thuc hien viec dang ky

Kiem tra tinh day du va hop le cua thong tin (adsbygoogle = window.adsbygoogle || []).push({});

Kiem tra email da ton tai chua Kiem tra ten dang nhap da ton tai chua

[ Hop le ]

Luu thong tin thanh vien xuong CSDL

[ Hop le ]

Thong bao qua trinh dang ky thanh cong

Ket thuc

Thong bao loi cho nguoi dung

[ Loi cap nhat thong tin xuong CSDL ]

Bat Dau

Yeu cau sua ten dang nhap [ Ten dang nhap da duoc dang ky ]

Yeu cau sua dia chi email [ Email da duoc dang ky ]

Yeu cau nhap lai thong tin [Hop le]

[Khong hop le]

3.4.3.2. Đăng nhập

Khach hang nhap thong tin dang nhap

Kiem tra ten dang nhap

Kiem tra mat khau

Luu thong tin khach hang vao Session

Kiem tra thong tin gio hang trong session

Kiem tra gio hang cua khach hang trong CSDL

[ Da co ]

Tao gio hang moi [ Chua co ]

Dong bo gio hang

Quay lai trang truoc Cap nhat thong tin gio

hang xuong CSDL

Yeu cau nhap lai thong tin dang nhap

[ Hop le ] [ Hop le ]

[ Co mot gio hang chua tinh tien ]

[ Khong co gio hang nao chua tinh tien ]

3.4.3.3. Thêm vào giỏ hàng (adsbygoogle = window.adsbygoogle || []).push({});

Tao moi gio hang [ Chua co gio hang ]

Them san pham vao gio hang

Kiem tra dang nhap

Cap nhat thong tin gio hang xuong CSDL Kiem tra gio hang

trong session Khach hang yeu cau them

san pham vao gio hang

[Da co gio hang]

[Da dang nhap]

[Chua dang nhap]

3.4.3.4. Mua hàng

Kiem tra dang nhap

Yeu cau nhap thong tin chuyen hang Kiem tra tinh hop le va day du

cua thong tin chuyen hang

Yeu cau nhap thong tin hoa don

[ Hop le ]

Kiem tra tinh hop le va day du cua thong tin hoa don

Yeu cau nhap thong tin the tin dung

[Hop le]

Phan tich ket qua tra ve

Yeu cau xac nhan hoan thanh viec mua hang

[The hop le]

Tao hoa don moi va cap nhat xuong CSDL

Gui yeu cau chuyen khoan len Authorize.net

[ Dong y mua hang ]

Cap nhat thong tin chuyen khoan xuong CSDL

Cap nhat thong tin gio hang da duoc thanh toan xuong CSDL

Xoa thong tin gio hang va cac thong tin ve phien giao dich trong session

Tao gio hang moi

Thong bao giao dich thanh cong

Yeu cau nhap lai thong tin the tin dung [ Loi thong tin the tin dung ] (adsbygoogle = window.adsbygoogle || []).push({});

Dang nhap Yeu cau thanh

toan

Yeu cau sua thong tin [ Thong tin khong hop le ]

Yeu cau sua thong tin [ Thong tin khong hop le ]

Yeu cau sua thong tin

Gui yeu cau xac thuc thong tin len authorize.net

[ Khong dong y mua hang ]

3.4.4. Mô hình lớp ( Class)

3.4.4.1. Tầng nghiệp vụ

Hình 3.33 Mô hình lớp tầng nghiệp vụ

Chương 4. HIỆN THỰC 4.1. Bảo mật thông tin

4.1.1. Bảo mật thông tin trên URL

Các thông tin trên thanh địa chỉ khi chuyển sang các trang điều được mã hóa bằng thuật toán đối xứng như các thông tin: mã sản phẩm, mã nhóm sản phẩm…

Hình 4.35 Bảo mật thông tin trên URL

4.1.2. Bảo mật thông tin thiết lập trong web.config

Sử dụng thuật toán “RSA Protected Configuration” và công cụ “Aspnet_regiis.exe” để mã hóa thông tin kết nối vào CSDL và các khóa mã hóa dữ liệu.

Thông tin chưa mã hóa:

Hình 4.36 Thông tin kết nối vào CSDL trong web.config chưa được mã hóa

Sau khi đã được mã hóa:

Hình 4.37 Thông tin kết nối vào CSDL trong web.config đã được mã hóa

4.1.3. Bảo mật thông tin thẻ tín dụng

Thông tin thẻ tín dụng của khách hàng được lưu trữ trong một class (CreditCardInfomation) và được bảo mật bằng các thông tin đó được serialize (số hóa) thành một chuỗi ký tự, sau đó mã hóa bằng thuật toán mã hóa đối xứng trước khi được lưu trữ xuống cơ sở dữ liệu.

Để lấy lại thông tin thẻ tín dụng thì thực hiện ngược lại quá trình.

4.1.4. Bảo mật các thiết lập quan trọng

Các thiết lập của trang web được lưu trữ trong bảng SETTING, đối với những thiết lập quan trọng, thông tin sẽ được mã hóa trước khi được lưu trữ xuống cơ sở dữ liệu. Khi đọc các thông tin thiết lập này lên sẽ căng cứ vào trường ENCRYPTED để xác định xem giá trị có được mã hóa hay không, nếu giá trị đã được mã hóa thì sẽ giải mã.

Hình 4.38 Mã hóa các thiết lập quan trọng trong cơ sở dữ liệu

4.1.5. Sử dụng SSL

Trong quá trình thanh toán, khi người dùng nhập thông tin thẻ tín dụng, hệ thống sẽ kiểm tra xem trang web đã được cấu hình SSL chưa, nếu đã được cấu hình thì hệ thống sẽ tự động chuyển sang giao thức https để bảo mật thông tin.

Thông tin thẻ tín dụng

Serialize (Số hóa) (adsbygoogle = window.adsbygoogle || []).push({});

Mã hóa

4.2. Sơ đồ trang Web

Website Đăng nhập Đăng ký Sản phẩm mới Trang chủ Tất cả sản phẩm Nhóm SP theo nhà sản xuất Chi tiết sản phẩm Nhóm SP theo giá

Giỏ hàng Thông tin

chuyển hàng Thông tin hóa đơn Thông tin Thẻ tín dụng Quản lý thông tin khách hàng Thanh toán

Phần quản trị Cài đặt hệ thống Quản lý Nhân viên Quản lý Sản phẩm Đăng nhập Quản lý Hóa đơn Nhân viên Nhóm Nhân viên Quản lý Máy tính Quản lý Nhóm thiết bị Nhóm SP theo nhà sản xuất

4.3. Một số màn hình

4.3.1. Trang chủ

Hình 4.39 Màn hình trang chủ

4.3.2. Trang đăng ký

4.3.3. Trang nhóm sản phẩm

Hình 4.41 Màn hình trang nhóm sản phẩm

4.3.4. Trang cập nhật giỏ hàng

4.3.5. Trang nhập thông tin chuyển hàng

Hình 4.43 Màn hình trang thông tin chuyển hàng

4.3.6. Trang nhập thông tin hóa đơn

4.3.7. Trang nhập thông tin thẻ tín dụng

Hình 4.45 Màn hình trang thông tin thẻ tín dụng

4.3.8. Xác nhận mua hàng

4.3.9. Trang quản lý sản phẩm

Hình 4.47 Màn hình trang quản lý sản phẩm

4.3.10. Trang quản lý nhóm sản phẩm

4.3.11. Trang quản lý hóa đơn

Hình 4.49 Màn hình trang quản lý hóa đơn

4.3.12. Trang quản lý nhân viên

Hình 4.50 Màn hình trang quản lý nhân viên

4.3.13. Trang quản lý nhóm và quyền nhân viên

4.3.14. Trang quản lý thiết lập hệ thống

Chương 5. NHẬN XÉT ĐÁNH GIÁ VÀ HƯỚNG PHÁT TRIỂN 5.1. Nhận xét đánh giá

Sau quá trình hơn 2 tháng tìm hiểu và viết đồ án, em đã học hỏi được rất nhiều điều qua đồ án này: (adsbygoogle = window.adsbygoogle || []).push({});

60. Học được thêm các thuật toán mã hóa và bảo mật.

61. Học được các kỹ thuật mới trong lập trình.

62. Học được các kỹ năng viết tài liệu và báo cáo. Các vấn đề đã làm được trong đồ án:

63. Nêu được ra các thuật toán được sử dụng trong việc bảo mật web và bảo mật thông tin trong thương mại và thanh toán điện tử.

64. Đưa ra được các vấn đề bảo mật trong xây dựng và

quản lý ứng dụng thương mại điện tử và giải pháp cho các vấn đề đó.

65. Xây dựng được một ứng dụng web thương mại điện

tử tương đối hoàn chỉnh.

66. Tích hợp được thanh toán qua cổng thanh toán điện

tử trong ứng dụng.

67. Thực hiện được các vấn đề bảo mật cơ bản trong

ứng dụng.

Các vấn đề chưa làm được:

68. Chưa đi sâu vào tìm hiểu các thuật toán.

69. Ứng dụng chỉ mới dừng lại ở những chức năng cơ

bản.

70. Chưa đa dạng được các dịch vụ thanh toán, như

5.2. Hướng phát triển

Từ những vấn đề đã làm được và chưa làm được như trên, trong thời gian tiếp theo sẽ phát triển đồ án lên:

71. Đi vào tìm hiểu sâu các thuật toán quan trọng.

72. Mở rộng ứng dụng để tăng tính tiện dụng cho người

dùng.

PHỤ LỤC 1.1. Thiết lập chứng chỉ SSL của Verisign

1.1.1. Các bước thực hiện

1. Tạo file Request Certificate

2. Xin SSL Certificate từ VeriSign.com

3. Cấu hình Trusted Root Certification Authority 4. Import SSL Certificate cho Máy chủ web 5. Kiểm tra kết quả

1.1.2. Chuẩn bị

74. Máy tính cài hệ điều hành Windows XP hoặc Windows Server 2003

75. Máy đã cài Internet Information Services (IIS) (adsbygoogle = window.adsbygoogle || []).push({});

1.1.3. Thực hiện

1.1.3.1. Tạo Request Certificate

76. Logon Administrator, mở Internet Information Services (IIS) Manager, bung Web Site, chuột phải Default Web Site, chọn Properties

77. Hộp thoại Default Web Site Properties, qua tab Directory Security, chọn Server Certificate

78. Hộp thoại Welcome to the Web Server Certificate Wizard, chọn Next

79. Hộp thoại Server Certificate, chọn Create anew certificate, chọn Next

80. Trong hộp thoại Delayed or Immediate Request, chọn Prepare the request now, but send it later, chọn Next

82. Trong hộp thoại Organization Information, nhập thông tin như hình bên dưới, chọn Next

83. Trong hộp thoại Your Site’s Common Name, nhập

84. Hộp thoại Geographical Information, nhập thông tin như hình bên dưới, chọn Next

85. Hộp thoại Certificate Request File Name, để mặc

86. Hộp thoại Request File Summary, chọn Next, chọn Finish

87. Trong hộp thoại Default Web Site Properties, chọn

1.1.3.2. Xin SSL Certificate từ VeriSign.com

88. Mở Windows Explorer, copy nội dụng của file C:\certreq.txt.

89. Mở Internet Explorer, truy cập địa chỉ

http://www.verisign.com, chọn Free SSL Trial

90. Trong cửa sổ Free SSL Trial Certificate, nhập đằy

92. Cửa sổ tiếp theo, nhập đầy đủ thông tin vào phần Technical Contact, chọn Continue

Trong ô Select Server Platform, chọn Microsoft. Trong ô Select Version, chọn IIS 6.0. Dán nội dung file certreq.txt vào ô Paste Certificate Signing Request (CSR), optained

93. Trong ô What do you plan to use this SSL Certificate for?, chọn Web Server, chọn Continue

94. Trong cửa sổ CRS Information, nhập MSOPENLAB vào ô Challenge Phrase và Re-enter Challenge Phrase. Nhập câu hỏi bất kỳ vào ô Reminder Question, chọn Continue

95. Trong cửa sổ Order summary & acceptance, chọn

1.1.3.3. Cấu hình Trusted Root Certification Authority

97. Đăng nhập vào hộp mail, kiểm tra nhận được e-mail

từ Support@verisign.com, chọn vảo link như trong hình bên dưới.

98. Trong trang web của verisign, chọn VeriSign CA

99. Cửa sổ tiếp theo, kéo thanh trượt xuống dưới, chọn

100. Trong cửa sổ Root CA Certificate, chọn Select All, copy tất cả nội dung

102. Mở Internet Explorer, vào Tools, chọn Internet Options, qua tab Content, chọn Certificates (adsbygoogle = window.adsbygoogle || []).push({});

104. Hộp thoại Welcome to the Certificate Import Wizard, chọn Next

105. Hộp thoại File to Import, chọn Browse, trõ đường

Một phần của tài liệu Đồ án tốt nghiệp nghiên cứu vấn đề bảo mật trong xây dựng ứng dụng Ecommerce pptx (Trang 82 - 138)