1. Trang chủ
  2. » Luận Văn - Báo Cáo

An toàn bảo mật thông tin trong thương mại điện tử

68 636 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 68
Dung lượng 3,64 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Sự phát triển nhanh chóng của mạng và công nghệ thông tin, sự bùng nổ của Internet đã mang lại những thay đổi chưa từng thấy trong thương mại điện tử, nó tác động mạnh mẽ đến lĩnh vực ng

Trang 1

MỤC LỤC LỜI CẢM ƠN Error! Bookmark not defined LỜI CAM ĐOAN Error! Bookmark not defined

MỤC LỤC 1

LỜI MỞ ĐẦU 3

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 5

1.1 Một số định nghĩa trong thương mại điện tử 5

1.1.1 Thương mại điện tử 5

1.1.2 Kinh doanh điện tử 5

1.1.3 Mô hình thương mại điện tử 5

1.1.4 Thị trường điện tử 5

1.1.5 Sàn giao dịch 5

1.1.6 Thanh toán điện tử 6

1.2 Các công đoạn của một giao dịch thương mại điện tử 7

1.3 Vai trò của thương mại điện tử 8

1.4 Lợi ích và giới hạn của thương mại điện tử 9

1.4.1 Lợi ích 9

1.4.2 Hạn chế 11

1.5 Một số vấn đề cần lưu ý khi tham gia thương mại điện tử 12

1.5.1 Bảo mật 12

1.5.2 Vấn đề ẩn danh 13

1.5.3 Vấn đề tiêu xài hai lần 13

1.6 Bảo mật cho ứng dụng web 14

1.6.1 Quản lý truy cập 14

1.6.2 Loại trừ những đoạn mã gây nguy hiểm .15

1.6.3 Hoạt động ghi lại 15

1.6.4 Sao lưu dữ liệu 16

1.7 Những lỗ hổng nghiêm trọng và cách khắc phục 16

1.7.1 Mật khẩu đưa vào tự động hoàn thành 16

1.7.2 Đường liên kết bị hỏng - Broken Link 17

1.7.3 Địa chỉ thư điện tử(email) được tìm thấy ở trên trang Web 17

1.7.4 Tiêm câu lệnh SQL (SQL Injection) 18

1.8 Apache Web Server 19

1.9 Tìm hiểu về PHP 20

1.9.1 PHP là gì ? 20

1.9.2 Các kiểu dữ liệu 21

1.9.3 Biến - giá trị 22

1.9.4 Hằng số (constants_cố định) 23

1.9.5 Biểu Thức 24

1.9.6 Các Cấu Trúc Lệnh 24

1.9.7 Hàm 25

1.9.8 Toán tử 27

Trang 2

1.9.9 Lớp và đối tượng 28

1.9.10 Tham chiếu 30

1.9.11 Thao tác với ảnh 31

1.10 MySQL là gì? 31

1.10.1 Các kiểu dữ liệu trong MySQL 32

1.11 Nhúng JavaScript vào file HTML 36

1.12 Lựa chọn công cụ thiết kế 37

CHƯƠNG 2: PHÂN TÍCH HỆ THỐNG 38

2.1 Khảo sát cho hệ thống 38

2.1.1 Giới thiệu về Công ty Thương Mại Tuổi Trẻ Hòa Bình 38

2.1.2 Cơ cấu hoạt động của công ty 38

2.2 Đưa ra yêu cầu hệ thống 40

CHƯƠNG 3: THIẾT KẾ HỆ THỐNG 48

3.1 Sơ đồ phân cấp chức năng hệ thống 48

3.2 Sơ đồ luồng dữ liệu 48

3.2.1 Sơ đồ luồng dữ liệu mức khung cảnh 48

3.2.2 Sơ đồ luồng dữ liệu mức đỉnh 49

3.2.3 Sơ đồ luồng dữ liệu mức dưới đỉnh 49

3.3 Thiết kế bảng dữ liệu 53

3.3.1 Bảng Customer (khách hàng) 53

3.3.2 Bảng tài khoản admin 53

3.3.3 Bảng News (tin tức) 53

3.3.4 Bảng liên hệ 54

3.3.5 Bảng Partner (đối tác_quảng cáo) 54

3.3.6 Bảng tài khoản thẻ tín dụng 54

3.3.7 Bảng Categories (danh mục hàng) 55

3.3.8 Bảng Order (hoá đơn đặt hàng) 55

3.3.9 Bảng Order-details (hoá đơn chi tiết) 55

3.3.10 Bảng giới thiệu và thông báo (Giới thiệu công ty và thông báo) 55

3.3.11 Bảng Products (sản phẩm) 56

3.3.12 Bảng Paymen (phương thức thanh toán): 56

3.4 Mô hình thực thể liên kết ERD 57

3.5 Giao diện hệ thống 58

3.5.1 Khung giao diện trang chủ 58

3.5.2 Khung giao diện trang admin 59

3.5.3 Một số trang chính của chương trình: Trang chủ 60

KẾT LUẬN 67

TÀI LIỆU THAM KHẢO 68

Trang 3

LỜI MỞ ĐẦU

Việt Nam gia nhập tổ chức thương mại thế giới WTO là một bước tiến rất quan trọng trong bối cảnh phát triển “siêu tốc” của thương mại toàn cầu Trong

đó, việc giao dịch thương mại điện tử E-commerce (TMĐT) là một hoạt động đã

và đang đóng vai trò quan trọng thúc đẩy nền kinh tế thế giới phát triển Hiện nay, một trong những ứng dụng to lớn của TMĐT là hình thức bán hàng qua mạng Sự phát triển nhanh chóng của mạng và công nghệ thông tin, sự bùng nổ của Internet đã mang lại những thay đổi chưa từng thấy trong thương mại điện tử,

nó tác động mạnh mẽ đến lĩnh vực ngân hàng truyền thống, thúc đẩy sự phát triển thương mại điện tử và làm xuất hiện hàng ngày các sản phẩm mới có liên quan đến ngân hàng như thẻ tín dụng, giao dịch ngân hàng qua điện thoại di động và tiền điện tử hay ví điện tử cũng đang trở thành hiện thực Trên thế giới, tiền điện tử đã và đang được ứng dụng thành công, nhưng khái niệm “tiền điện tử” vẫn còn khá mới mẻ ở Việt nam Với sự phát triển mạnh của TMĐT, các website TMĐT sẽ không tránh khỏi những lỗ hổng, khi đó bị tin tặc, hacker tấn công lấy cắp đi thông tin dữ liệu, làm cho người dùng bị lộ thông tin khi thanh toán trực tuyến qua website TMĐT Do đó, yêu cầu đặt ra là cần thiết an toàn bảo mật thông tin trong TMĐT, có các giải pháp nhằm bảo mật thông tin và hạn chế thông tin bị tiết lộ khi giao dịch qua các website TMĐT

Trong bối cảnh như vậy đã khiến em chọn đề tài: “An toàn bảo mật thông tin trong thương mại điện tử” làm đồ án tốt nghiệp Thực hiện đồ án tốt

nghiệp lần này do được thầy giáo Th.S Nguyễn Văn Huân hướng dẫn nên em đã chọn cách “nâng cấp” hệ thống website TMĐT, bán hàng điện thoại di động cho Công ty thương mại tuổi trẻ hòa bình đã xây dựng trong đợt thực hiện đề tài tốt nghiệp kỳ trước, với phương thức an toàn bảo mật thông tin thanh toán trực tuyến

và đưa ra các giải pháp an toàn hơn cho người dùng

Đề tài xây dựng một demo website TMĐT và một vài các giải pháp an toàn cần thiết cho website này Với khả năng lập trình ngôn ngữ PHP và sử dụng hệ quản trị cơ sở dữ liệu MySQL, các công cụ hỗ trợ thiết kế website, cùng với những

Trang 4

nghiên cứu chưa sâu về các giải pháp an toàn bảo mật còn nhiều hạn chế, đề tài của em chắc chắn sẽ còn nhiều điểm thiếu sót Rất mong nhận được sự quan tâm đánh giá, đóng góp ý kiến của thầy cô giáo và các bạn sinh viên để em ngày càng hoàn thiện sản phẩm của mình hơn

Sau đây là nội dung tổng quan về hướng phân tích, thiết kế hệ thống trong bản đồ

án này:

Chương 1 : Cơ sở lý thuyết

 Trình bày các hiểu biết về thương mại điện tử: các khái niệm, vai trò, cách thức thực hiện, lợi ích, giới hạn, an toàn bảo mật và bảo mật ứng dụng web

 Trình bày một số lỗ hổng và các giải pháp khắc phục

 Trình bày ngôn ngữ PHP, HQT CSDL MySQL, Apache Websever Đó là các công cụ chính để thiết kế chương trình “Bộ ba” công cụ này hiện được ứng dụng rất rộng rãi và phổ biến, phù hợp với các dự án vừa và nhỏ

Chương 2 : Phân tích hệ thống

 Tiếp cận bài toán theo hướng chức năng nhằm đưa ra các giải pháp an toàn bảo mật thông tin cho hệ thống website

Phân tích bài toán từ tổng quan tới chi tiết theo 2 mảng chính là:

 Các yêu cầu của công ty đối với hệ thống từ đó xây dựng các chức năng cần thiết của một hệ thống website TMĐT

 Định hướng chức năng mà hệ thống sẽ cung cấp cho khách hàng, giúp khách hàng có thể khai thác các thông tin hữu ích mà không dò rỉ thông tin và quan trọng nhất là giải pháp an toàn thông tin cho website, chính xác và hiệu

quả cao

Chương 3 : Thiết kế hệ thống

 Thiết kế các sơ đồ từ khái quát, tổng quan tới chi tiết: sơ đồ phân cấp chức năng, sơ đồ luồng dữ liệu mức khung cảnh, mức đỉnh và các sơ đồ mức dưới đỉnh, sơ đồ thực thể liên kết ERD

 Thiết kế các bảng dữ liệu của hệ thống

Trang 5

CHƯƠNG 1:

CƠ SỞ LÝ THUYẾT

1.1 Một số định nghĩa trong thương mại điện tử

1.1.1 Thương mại điện tử

Thương mại điện tử ( Electronic commerce - EC) là một từ dùng để mô tả quá trình mua, bán và trao đổi mặt hàng, dịch vụ và thông tin qua mạng máy tính bao gồm cả mạng Internet

1.1.2 Kinh doanh điện tử

Kinh doanh điện tử (Bussiness ecomerce) là một định nghĩa khái quát hơn của thương mại điện tử, nó không chỉ là sự mua, bán hàng hoá, dịch vụ mà nó còn là sự phục vụ khách hàng, hợp tác giữa các đối tác kinh doanh và hướng dẫn các phiên giao dịch điện tử trong một tổ chức

1.1.3 Mô hình thương mại điện tử

Một mô hình thương mại là một phương thức kinh doanh của một công ty phát sinh ra lợi nhuận để duy trì công ty Mô hình thương mại giải thích một công ty đóng vai trò như thế nào trong một dây chuyền

Một đặc điểm lớn nhất của EC là nó có thể tạo ra các mô hình thương mại mới

1.1.4 Thị trường điện tử

Thị trường điện tử đang phát triển một cách nhanh chóng như một phương tiện truyền bá cách thức kinh doanh trực tuyến Nó là một mạng lưới sự tác động qua lại và các mối quan hệ, mà ở nơi đó mặt hàng, thông tin, dịch vụ và việc chi trả đều có thể trao đổi

1.1.5 Sàn giao dịch

Sàn giao dịch là một loại đặc biệt của thị trường điện tử Giá cả trong thị trường có thể được quy định và giá cả có thể thay đổi do phụ thuộc vào thời gian thực, làm cho phù hợp giữa yêu cầu và sự cung cấp Thị trường mà kiểm soát được sự đối xứng, gọi là sự trao đổi và trong EC, nó là trao đổi điện tử Theo mô hình hiệu quả nhất của EC, sự đối xứng và định giá được tiến hành theo thời gian

Trang 6

1.1.6 Thanh toán điện tử

Thanh toán điện tử (Electronic payment) là việc thanh toán tiền thông qua thông điệp điện tử (Electronic message) thay cho việc giao dịch dùng tiền mặt

Ví dụ, trả lương bằng cách chuyển tiền trực tiếp vào tài khoản, trả tiền mua hàng bằng thẻ mua hàng, thẻ tín dụng v.v… thực chất đều là dạng thanh toán điện tử Ngày nay, với sự phát triển của TMĐT, thanh toán điện tử đã mở rộng sang các lĩnh vực mới đó là:

Trao đổi dữ liệu điện tử tài chính (Financial Electronic Data Interchange, gọi tắt

là FEDI) chuyên phục vụ cho việc thanh toán điện tử giữa các công ty giao dịch với nhau bằng điện tử

Tiền mặt Internet (Internet cash) là tiền mặt được mua từ một nơi phát hành (ngân hàng hoặc một tổ chức tín dụng nào đó), sau đó được chuyển đổi tự

do sang các đồng tiền khác thông qua Internet, áp dụng trong phạm vi một nước cũng như giữa các quốc gia Tất cả đều được thực hiện bằng kỹ thuật số hoá, vì thế tiền mặt này còn có tên gọi là “tiền mặt số hoá” (digital cash), có công nghệ đặc thù chuyên phục vụ mục đích này, đảm bảo mọi yêu cầu của người bán và người mua theo luật quốc tế Tiền mặt Internet được người mua hàng mua bằng đồng nội tệ, rồi dùng mạng Internet để chuyển cho người bán hàng

Hệ thống thanh toán điện tử của ngân hàng là một hệ thống lớn gồm các phân hệ như:

+ Thanh toán giữa ngân hàng với khách hàng qua điện thoại, tại các điểm bán lẻ, các kiôt, giao dịch cá nhân tại các gia đình, giao dịch tại trụ sở khách hàng, giao dịch qua Internet, chuyển tiền điện tử, thẻ tín dụng…

+ Thanh toán giữa ngân hàng với các đại lý thanh toán (nhà hàng, siêu thị…)

+ Thanh toán nội bộ một hệ thống ngân hàng khác

+ Thanh toán giữa hệ thống ngân hàng này với hệ thống ngân hàng khác

Trang 7

1.2 Các công đoạn của một giao dịch thương mại điện tử

Gồm có 6 công đoạn sau:

1 Khách hàng, từ một máy tính tại một nơi nào đó, điền những thông tin thanh toán và điạ chỉ liên hệ vào đơn đặt hàng (Order Form) của Website bán hàng (còn gọi là Website thương mại điện tử) Doanh nghiệp nhận được yêu cầu mua hàng hoá hay dịch vụ của khách hàng và phản hồi xác nhận tóm tắt lại những thông tin cần thiết như: mặt hàng đã chọn, địa chỉ giao nhận và số phiếu đặt hàng

2 Khách hàng kiểm tra lại các thông tin và kích (click) vào nút (button) "đặt hàng", từ bàn phím hay chuột (mouse) của máy tính, để gởi thông tin trả về cho doanh nghiệp

3 Doanh nghiệp nhận và lưu trữ thông tin đặt hàng đồng thời chuyển tiếp thông tin thanh toán (số thẻ tín dụng, ngày đáo hạn, chủ thẻ .) đã được mã hoá đến máy chủ (Server, thiết bị xử lý dữ liệu) của Trung tâm cung cấp dịch vụ xử lý thẻ trên mạng Internet Với quá trình mã hóa các thông tin thanh toán của khách hàng được bảo mật an toàn nhằm chống gian lận trong các giao dịch (chẳng hạn doanh nghiệp sẽ không biết được thông tin về thẻ tín dụng của khách hàng)

4 Khi Trung tâm xử lý thẻ tín dụng nhận được thông tin thanh toán, sẽ giải mã thông tin và xử lý giao dịch đằng sau bức tường lửa (FireWall) và tách rời mạng Internet (off the Internet), nhằm mục đích bảo mật tuyệt đối cho các giao dịch thương mại, định dạng lại giao dịch và chuyển tiếp thông tin thanh toán đến ngân hàng của doanh nghiệp (Acquirer) theo một đường dây thuê bao riêng (một đường truyền số liệu riêng biệt)

5 Ngân hàng của doanh nghiệp gởi thông điệp điện tử yêu cầu thanh toán (authorization request) đến ngân hàng hoặc công ty cung cấp thẻ tín dụng của khách hàng (Issuer) Và tổ chức tài chính này sẽ phản hồi là đồng ý hoặc từ chối thanh toán đến trung tâm xử lý thẻ tín dụng trên mạng Internet

6 Trung tâm xử lý thẻ tín dụng trên Internet sẽ tiếp tục chuyển tiếp những thông tin phản hồi trên đến doanh nghiệp, và tùy theo đó doanh nghiệp thông báo cho khách hàng được rõ là đơn đặt hàng sẽ được thực hiện hay không

Trang 8

Toàn bộ thời gian thực hiện một giao dịch qua mạng từ bước 1 đến bước 6 được

xử lý trong khoảng 15 - 20 giây

Sơ đồ 1.1 Hình thức thanh toán qua internet

1.3 Vai trò của thương mại điện tử

Thương mại điện tử là hình thái hoạt đông thương mại bằng phương pháp

điện tử, là việc trao đổi thông tin thương mại thông qua các phương tiện công nghệ điện tử mà nói chung là không cần phải in ra giấy trong bất cứ công đoạn nào của quá trình giao dịch Với đặc trưng đó, thương mại điện tử mang đến các lợi ích sau:

+ Giúp cho các Doanh nghiệp nắm được thông tin phong phú về thị trường và đối tác

+ Giúp giảm chi phí sản xuất

+ Giúp giảm chi phí bán hàng và tiếp thị

+ Qua Internet giúp người tiêu dùng và các doanh nghiệp giảm đáng kể thời gian và chí phí giao dịch

+ Tạo điều kiện cho việc thiết lập và củng cố mối quan hệ giữa các thành phần tham gia vào quá trình thương mại

+ Tạo điều kiện sớm tiếp cận nền kinh tế số hoá

Trang 9

1.4 Lợi ích và giới hạn của thương mại điện tử

1.4.1 Lợi ích

EC đã đem lại nguồn tiềm năng về lợi nhuận to lớn cho con người EC đã tạo cơ hội để tập hợp được hàng trăm người, hàng ngàn người trên thế giới bất kể quốc hay dân tộc nào Những lợi nhuận này đang bắt đầu trở thành hiện thực và

sẽ gia tăng khi EC lan rộng

a Đối với khách hàng

+ Sự tiện lợi:

Người tiêu dùng có thể mua hàng vào bất cứ lúc nào mình thích từ chính bàn làm việc của minh, đơn đặt hàng nhanh chóng được thực hiện chỉ thông qua vài thao tác đơn giản và họ được nhận hàng tại nhà

+ Mua được đúng thứ mình cần với chi phí hợp lý nhất:

Người tiêu dùng có cơ hội chọn lựa những mặt hàng tốt nhất với giá rẻ nhất, có thể nhanh chóng tìm được những loại hàng hoá dịch vụ cần thiết với một danh sách so sánh về giá cả, phương thức giao nhận cũng như chế độ hậu mãi Nếu ưa thích và đã mua một mặt hàng thuộc chủng loại nào đó, người tiêu dùng

có thể rễ ràng tìm ra những mặt hàng tương tự hoặc những mặt hàng mới nhất

+ Người tiêu dùng được hưởng chế độ hậu mãi tốt hơn:

Thay vì phải gọi điện liên tục đến bộ phận hỗ trợ kỹ thuật hay phải chờ đợi, người tiêu dùng có thể chủ động và nhanh chóng tìm kiếm các thông tin cần thiết qua website của nhà cung cấp Chắc chắn sự hỗ trợ sẽ nhanh hơn vì thương mại điện tử giúp cho các nhà cung cấp hỗ trợ khách hàng với hiệu suất cao hơn

Họ cũng có thể phản ánh trực tiếp những nhu cầu, những ý kiến của mình tới các nhà lãnh đạo, tới các bộ phận chuyên trách

b Đối với các doanh nghiệp và nhà cung cấp:

+ Hoạt động kinh doanh 24/7 trên toàn cầu, đáp ứng nhanh với những nhu cầu khác nhau:

Tham gia thương mại điện tử là một phương thức tốt để tiếp cận thị trường toàn cầu Với TMĐT, nhà cung cấp có thể phục vụ khách hàng thuộc mọi múi giờ khác nhau từ mọi nơi trên thế giới, việc kinh doanh không bị ngưng trệ vì

Trang 10

những ngày tết hay ngày nghỉ… Khách hàng có thể chủ động tìm đến mà không làm phiền tới bạn, không ảnh hưởng tới thời gian biểu của nhà cung cấp

Trong môi trường kinh tế cạnh tranh thì chất lượng dịch vụ và khả năng đáp ứng nhanh chóng với những yêu cầu riêng biệt của thị trường là bắt buộc đối với doanh nghiệp Mức sống ngày càng cao thì người ta coi trọng sự tiện lợi hơn là giá cả và TMĐT có lợi thể vợt trội về điều này

+ Giảm chi phí sản xuất tiếp thị và bán hàng

Trước hết là giảm chi phí văn phòng - quản lý Khi tham gia thương mại điện tử, công ty có thể chào bán mặt hàng dịch vụ của mình mà không cần thêm nhân công Các văn phòng - cửa hàng điện tử chi phí hoạt động thấp hơn nhiều

so với văn phòng truyền thống, phục vụ được đồng thời một lượng khách hàng lớn hơn hàng ngàn lần, hoạt động 24/7, không gian không giới hạn Thông tin về mặt hàng luôn đảm bảo được cập nhật mới nhất khi khách hàng có nhu cầu tìm hiểu Lúc đó, các chi phí in ấn tờ rơi quảng cáo không còn cần thiết nữa

+ Cải thiện hệ thống liên lạc, giúp thiết lập và củng cố quan hệ đối tác

Công ty có thể liên hệ với nhân viên, khách hàng, đối tác thông qua website Mọi thay đổi đều có hiệu lực ngay khi bạn gửi cho họ trên website, và bất kỳ ai cũng xem được những thông tin cập nhật mà không phải liên lạc trực tiếp với công ty Người tham gia TMĐT có thể liên hệ trực tiếp và liên tục với nhau, không giới hạn thời gian và khoảng cách địa lý với chi phí thấp, nhờ vậy cả

sự hợp tác và quản lý đều được tiến hành nhanh chóng liên tục Các bạn hàng mới, các cơ hội kinh doanh mới được phát hiện nhanh chóng trên bình diện toàn quốc, quốc tế và có nhiều cơ hội để lựa chọn hơn Việc tìm kiếm đối tác cũng trở lên thuận tiện hơn, thông qua việc nắm vững và đầy đủ thông tin về nhau, việc tiến hành đàm phán trở nên nhanh gọn và tin cậy

+ Dịch vụ hậu mãi tốt hơn và thuận tiện hơn

Với TMĐT, các công ty có thể cung cấp dịch vụ sau bán hàng tốt hơn mà không còn bị làm phiền nhiều Thay vì thuê thêm nhân viên hỗ trợ kỹ thuật, thay

Trang 11

khách hàng của bạn có thể chủ động tìm những câu trả lời qua hệ thống FAQ hay Support của công ty Bạn chỉ việc đưa ra những tình huống có thể, tạo câu hỏi và câu trả lời, và tất nhiên dễ dàng cập nhật thường xuyên

+ Đem lại sự cạnh tranh bình đẳng

Vì thương mại điện tử được tiến hành trên mạng nên không bị ảnh hưởng bởi khoảng cách địa lý, do đó công ty dù nhỏ hay lớn thì điều đó cũng không ảnh hưởng gì, các công ty vẫn được nhiều người biết đến nhờ sự tính toàn cầu của mạng Khách hàng cũng có nhiều sự lựa chọn nhờ mạng máy tính cung cấp cho

họ Thương mại điện tử đem lại sự hiện diện trên toàn cầu cho nhà cung cấp và

sự lựa chọn toàn cầu cho khách hàng

+ Những hạn chế không phải về mặt kỹ thuật:

Chi phí để phát triển EC trong công ty có thể rất cao và có thể gây ra lỗi

do việc thiếu hiểu biết, dẫn đến việc trì hoãn công việc Hơn nữa, để chứng minh cho hệ thống, phải chi ra được những lợi nhuận không thể nhìn thấy được và rất khó xác định được số lượng (chẳng hạn như việc phát triển dịch vụ phục vụ khách hàng và giá trị của sự quảng cáo)

Bảo mật và sự riêng tư là rất quan trọng trong mô hình doanh nghiệp đến người tiêu dùng (B2C), đặc biệt là các vấn đề bảo mật là rất nghiêm trọng Giới

Trang 12

hạn của việc bảo vệ sự riêng tư đang phát triển Đối với khách hàng, những vấn

đề này rất quan trọng Ngành công nghiệp EC có một nhiệm vụ lâu dài và khó khăn trong việc thuyết phục khách hàng rằng những giao dịch và thông tin cá nhân trên mạng rất bảo mật

Trong vài trường hợp, khách hàng không tin tưởng vào người bán hàng

mà mình không quen biết và không biết mặt và những giao dịch không có giấy

tờ, tiền điện tử Bởi vì những điều đó, việc thuyết phục khách hàng chuyển từ giao dịch vật lý thông thường sang giao dịch điện tử là rất khó khăn

Một vài khách hàng thì thích tiếp xúc với mặt hàng mình sẽ mua, chẳng hạn như quần áo để mà họ biết được chính xác mặt hàng họ mua sẽ như thế nào

Có những vấn đề thuộc về luật pháp vẫn còn chưa được giải quyết, và trong nền tài chính của chính phủ, mối quan hệ và trình độ không đủ để cải tiến được tính phức tạp của EC

Cũng như là một ngành học, EC vẫn còn tiến triển và thay đổi một cách nhanh chóng Nhiều người đang tìm kiếm một EC ổn định trước khi họ tham gia vào EC EC không có đủ các dịch vụ hỗ trợ Ở một số nơi, không có đủ điều kiện then chốt của EC để đạt được sự thành công Trong hầu hết các ứng dụng, không

có đủ người bán và người mua để thu lợi nhuận từ các tiến trình EC

Một vài điều đáng lo ngại là EC phát huy được công dụng của việc giao tiếp trực tiếp, có thể có một thất bại trong mối quan hệ của họ

1.5 Một số vấn đề cần lưu ý khi tham gia thương mại điện tử

1.5.1 Bảo mật

Khi tham gia vào thương mại điện tử nghĩa là hệ thống được kết nối vào mạng toàn cầu Do đó, hệ thống có thể bị tấn công bất cứ khi nào nếu không có một cơ chế bảo mật chặt chẽ

Ngoài ra, thông tin được truyền trên internet đi qua nhiều chặng nên khó kiểm soát và dễ bị tấn công từ bên ngoài Vì vậy, thông tin truyền đi cần phải

được mã hoá bởi bên gửi và bên nhận phải có cách giả mã để nhận thông tin

Trang 13

1.5.2 Vấn đề ẩn danh

Tính ẩn danh là một đặc tính rất quan trọng của phương thức thanh toán bằng tiền điện tử, đây là ưu điểm của phương thức này so với những phương thức khác Tính ẩn danh là quá trình thanh toán của người trả tiền phải được ẩn danh

và không để lại dấu vết, nghĩa là ngân hàng sẽ không nói được: tiền giao dịch là của ai Trong hệ thống tiền điện tử, để giải quyết vấn đề trên người ta đã sử dụng

kỹ thuật “chữ ký số mù” Chữ ký số mù là một dạng đặc biệt của chữ ký điện tử,

nó đòi hỏi người ký thực hiện ký vào một thông điệp mà không biết nội dung của

nó Thêm vào đó, người ký sau này có thể nhìn thấy cặp chữ ký/thông điệp, nhưng không thể biết được là mình đã ký thông điệp đó khi nào và ở đâu (mặc dù anh ta có thể kiểm tra được chữ ký đó là đúng đắn)

Chữ ký số mù đảm bảo ngân hàng không thể có được bất cứ mối liên hệ nào giữa đồng tiền điện tử và chủ sở hữu của nó

Tùy theo từng hệ thống tiền điện tử cụ thể mà sẽ áp dụng những sơ đồ chữ ký số

mù khác nhau Mỗi lược đồ có những ưu và nhược điểm khác nhau

1.5.3 Vấn đề tiêu xài hai lần

Với tính chất dạng số hoá, nên với Tiền điện tử, dễ dàng tạo bản sao từ bản gốc Chúng ta không thể phân biệt được đây là bản sao từ một bản gốc nào đấy, chính vì thế việc giả mạo là không thể phát hiện được Một hệ thống tiền điện tử tầm thường sẽ cho phép tạo bản sao của tiền điện tử và kẻ gian có thể tiêu xài bản sao này bình thường mà không bị phát hiện Để giải quyết vấn đề này, tuỳ theo từng loại hệ thống tiền điện tử mà có giải pháp khác nhau

+ Đối với hệ thống Tiền điện tử trực tuyến:

Hệ thống yêu cầu người bán hàng liên lạc tới ngân hàng với mỗi lần bán Ngân hàng lưu giữ thông tin tất cả những đồng tiền điện tử đã tiêu xài trước đấy

và có thể dễ dàng cho người bán hàng biết đồng tiền nào còn khả năng tiêu xài được Nếu ngân hàng báo rằng đồng tiền nào đó đã thực sự được tiêu xài rồi, thì người bán hàng lập tức từ chối bán hàng Điều này giống như cách mà những nhà bán hàng hiện tại kiểm tra thẻ tín dụng tại những điểm bán hàng

Trang 14

+ Đối với hệ thống Tiền điện tử ngoại tuyến:

Việc phát hiện trường hợp “tiêu xài hai lần” sẽ được thực hiện bằng hai cách khác nhau

Cách thứ nhất là tạo thẻ thông minh đặc biệt (special smart card) chứa con chip chống trộm cắp Trong những hệ thống khác, chip này còn được gọi là

“người theo dõi” Chip theo dõi sẽ lưu một lượng nhỏ dữ liệu của tất cả những tiền điện tử đã được tiêu xài qua smart card Nếu người sở hữu smart card đó cố gắng sao chép tiền điện tử này và tiêu xài nó lần hai, thì chip theo dõi (được gắn vào smart card) sẽ phát hiện được hành động này, và không cho phép giao dịch

“tiêu xài” Bởi vì chip theo dõi dùng để chống sự gian dối, người sở hữu smart card này không thể xoá được dữ liệu trừ khi họ phá huỷ smart card

Cách thứ hai là dựa vào cấu trúc của tiền điện tử và những giao thức mật

mã để có thể truy vết tìm ra kẻ gian lận (tiêu xài hai lần) Nếu như người sử dụng biết rằng họ sẽ bị bắt khi cố tính gian lận, về lý thuyết thì tỷ lệ hành động gian lận sẽ bị giảm đi Điều thuận lợi của phương pháp là chúng không đòi hỏi những con chip đặc biệt Hệ thống có thể được phát triển trên chương trình phần mềm (software) và có thể chạy trên máy tính cá nhân thông thường hay

+ Những account không sử dụng đến phải được xóa bỏ

+ Phải tắt (disable) account Guest

Trang 15

+ Account IUSR_MACHINE phải được tắt nếu không dùng đến

+ Nếu các ứng dụng cần quyền anonymous access, các bạn phải tạo tài khoản anonymous này với quyền thấp nhất có thể Những account anonymous không được phép có quyền write vào thư mục web và không được truy cập vào những ứng dụng bằng command line Các account chạy ứng dụng ASP.NET phải được thiết lập với quyền thấp nhất (Chỉ áp dụng khi bạn không dùng account ASPNET - account mặc định chạy ứng dụng ASP.NET với quyền mặc định thấp nhất)

+ Phải có chính sách về account và password phức tạp thiết lập trên sever + Phải remove group Everyone trên policy "Access this computer from the network"

+ Các tài khoản quản trị phải được đảm bảo tính bảo mật, không chia sẽ thông tin các tài khoản này

+ Null sessions (anonymous logons) phải được tắt

+ Đăng nhập từ xa phải được đảm bảo an toàn cho tài khoản

Administrators

1.6.2 Loại trừ những đoạn mã gây nguy hiểm

Duy trì tính bảo mật cho máy chủ dịch vụ Web có nghĩa là phải chắc chắn rằng tất cả các scripts và các ứng dụng Web được triển khai ở trên máy chủ dịch

vụ Web không có Trojan, backdoors hay một số đoạn mã độc khác Ở trên Internet có rất nhiều các scripts cho các nhà phát triển Web sử dụng Tuy nhiên, những scripts được tải từ một số nguồn bên ngoài thường không đảm bảo bảo (có thể bị chèn các đoạn mã độc để lấy dữ liệu của người dùng…) bằng được phát triển trong các nhà sản xuất phần mềm Nếu bắt buộc phải sử dụng những chương trình mã nguồn mở, các nhà phát triển và quản trị phải kiểm tra chất lượng để tìm những lời gọi hệ thống không đúng chỗ, các đoạn mã phụ và những hàm không cần thiết

1.6.3 Hoạt động ghi lại

Ghi lại, kiểm tra, hay giám sát các hoạt động trên máy chủ dịch vụ Web trở thành một trong những hoạt động quan trọng khi mà dung luợng dữ liệu được

Trang 16

lưu trữ trên máy chủ ngày càng tăng Giám sát các hoạt động của nguời sử dụng Web bao gồm:

+ Cố gắng thực thi các Scripts

+ Cố gắng viết vào các tệp

+ Cố gắng truy nhập vào các tệp bên ngoài thư mục gốc của Web

Đôi khi phải ghi lại tất cả các thao tác của tất cả người sử dụng (việc này thường

sẽ tốn nhiều dung lượng lưu trữ của máy chủ dịch vụ Web) Sử dụng hệ thống phát hiện xâm nhập (IDS – Instrusion Detection System), đây là một công cụ dùng để giám sát tất cả hoạt động không bình thường và những hành động xấu tới hệ thống thông qua các quy tắc mà hệ thống hay người quản trị đặt ra Một hệ thống phát hiện xâm nhập có thể kiểm tra các gói tin, tìm ra các dấu hiệu tấn công để thông báo cho người quản trị hoặc có những hành động như là từ chối, hoặc loại bỏ những gói tin đó

1.6.4 Sao lưu dữ liệu

Việc sao lưu dữ liệu là rất cần thiết để đề phòng khi dữ liệu ở trên máy chủ dịch vụ Web bị phá hủy, bị lỗi hay bị xóa bỏ Trên thực tế trong một số trường hợp là không cần thiết nhưng có một kế hoạch cho điều xấu nhất luôn là phương án tốt trong việc bảo mật Phải có một chính sách sao lưu dữ liệu hợp lý, phù hợp với hệ thống hiện tại và chính sách phục hồi dữ liệu đáp ứng tính sẵn

dùng khi hệ thống gặp lỗi, sự cố

1.7 Những lỗ hổng nghiêm trọng và cách khắc phục

Là những lỗi của ứng dụng Web và máy chủ dịch vụ Web Tuy nhiên những lỗi này thường không thể khai thác hoặc nếu khai thác được thì cũng không ảnh hưởng nhiều đến các ứng dụng Website Tuy nhiên nó vẫn được gọi

và được liệt kê vào trong những lỗ hổng bảo mật Web bởi vì ít hay nhiều nó vẫn

có thể bị lợi dụng hoặc ảnh hưởng đến ứng dụng và người dùng Web

1.7.1 Mật khẩu đưa vào tự động hoàn thành

Mô tả: Khi một tài khoản mới(gồm tên – username và mật khẩu –

Trang 17

form được hiển thị, tên và mật khẩu đầy đủ sẽ được tự động được đưa vào để đăng nhập Một kẻ tấn công với việc truy nhập trực tiếp vào máy tính có thể lấy được mật khẩu không mã hóa ở bộ nhớ đệm của trang Web

Ảnh hưởng: Thông tin nhạy cảm(tên và mật khẩu)có thể bị lộ

Cách khắc phục: Mật khẩu đưa vào tự động hoàn thành có thể tắt ở trong

các ứng dụng nhạy cảm Để tắt chế độ tự động hoàn thành có thể sử dụng mã giống như:

<INPUT TYPE="password" AUTOCOMPLETE="off">

1.7.2 Đường liên kết bị hỏng - Broken Link

Mô tả: Một ”đường liên kết hỏng” sẽ đưa ta tới một một số tài liệu, hình

ảnh hoặc trang Web mà trên thực tế nó hiện ra kết quả là “trang web không tìm thấy – the page cannot be found” Đôi khi trang này đã được liên kết với một trang khác nhưng không thể tiếp cận được

Ảnh hưởng: Trong trường hợp này, không có kẻ tấn công nào có thể lợi

dụng được lỗi này nhưng nó làm cho ảnh hưởng tới vấn đề điều hướng trang Web Các đường link hỏng đôi khi sẽ làm cho người dùng tưởng trang Web không tồn tại hoặc bị lỗi không truy nhập được

Cách khác phục: Xóa những đường liên kết hỏng hoặc làm cho các tài liệu, hình ảnh, trang Web mà liên kết đó chỉ đến có thể truy nhập được

1.7.3 Địa chỉ thư điện tử(email) được tìm thấy ở trên trang Web

Mô tả: Một hay nhiều địa chỉ email được tìm thấy trên trang Web

Spam-boots là một chương trình rà soát các địa chỉ email ở trên một số website mà chúng được chỉ định hoặc đi qua Chương trình Spamboot tìm kiếm các chuỗi ký

tự giống như: tênbạn@tên_miền_của_bạn.com và chúng sẽ ghi lại tên các địa chỉ email mà chúng tìm thấy được

Ảnh hưởng: Có thể là nạn nhân của các chương trình spam Hoặc đôi khi

có thể là mục tiêu của phishing

Cách khắc phục:

Sử dụng javascript để che giấu địa chỉ mail

Sử dụng form liên hệ thay cho ghi trực tiếp thông tin địa chỉ email

Trang 18

1.7.4 Tiêm câu lệnh SQL (SQL Injection)

Mô tả: Những năm về trước khi Hầu hết các ứng dụng web động ngày

nay, đều được xây dựng dựa trên một cơ sở dữ liệu – Database Phần lớn các cơ

sở dữ liệu được sử dụng hiện nay là MSSQL , MYSQL, OCRACLE Tuy nhiên

do chi phí để sử dụng OCRACLE quá cao nên hầu hết các web thường sử dụng MSSQL và MYSQL Trong đó, phần lớn các script phía server hoạt động phần lớn dựa và các câu truy vấn (query) tới database SQL – Injection chính là một cách tấn công của hacker bằng cách inject(tiêm) các truy vấn SQL vào các đầu vào – Input trước khi dữ liệu được chuyển cho ứng dụng web xử lý Bằng cách tiêm trực tiếp các truy vấn vào trong đầu vào dữ liệu hoặc trên thanh địa chỉ URL, hacker có thể đăng nhập (login) vào hệ thống mà không cần Username và Password hoặc có thể truy vấn để lấy được tài khoản admin, hay thao tác trực tiếp với cơ sở dữ liệu của trang Web

Ảnh hưởng: Nếu khai thác thành công lỗi SQL – Injection của site mắc lỗi, kẻ tấn công sẽ chiếm được quyền admin của trang Web, do đó, kẻ tấn công hoàn toàn có thể thay đổi database, chỉnh sửa nội dung, xóa toàn bộ database

Như vậy hacker là đã làm chủ hoàn toàn website

Cách khắc phục: Kiểm tra dữ liệu của người dùng đưa vào trước khi xử

lý.Kiểm soát chặt chẽ tất cả các dữ liệu nhập nhận được từ đối tượng Request (Request, Request.QueryString;Request.Form;Request.Cookies; and

Request.ServerVariables)

Sử dụng cấu trúc lập trình 3 lớp tách biệt hẳn lớp xử lý dữ liệu riêng

Thay đổi "Startup and run SQL Server" dùng mức low privilege user trong tab SQL Server Security

Xóa bỏ các stored procedure mà bạn không dùng như:

master Xp_cmdshell, xp_startmail, xp_sendmail, sp_makewebtask

Dùng công nghệ Rewrite URL(Tuy nhiên chỉ hạn chế được việc chèn trực tiếp dữ liệu trên URL)

Trang 19

1.8 Apache Web Server

Hệ thống mà em xây dựng là một trình ứng dụng được viết trên giao diện Web, người sử dụng có thể truy xuất các trang Web của hệ thống từ các máy con

Do vậy yêu cầu của hệ thống là phải có một máy chủ chạy phần mềm web server (như IIS, Apache, Personal Web Server…)

Thứ hai, do đây là trang Web có tương tác cơ sở dữ liệu nên cần phải có một hệ quản trị cơ sở dữ liệu (như SQL Server, ocracle, MySQL, MS Access,…) Tuy

có nhiều cách lựa chọn về môi trường làm việc nhưng trong thời gian làm đề tài tốt nghiệp, em chọn môi trường và công cụ làm việc cho ứng dụng gồm:

+ Web Server: Apache Web server

+ Cơ sở dữ liệu: MySQL

+ Ngôn ngữ chạy: PHP

Ngoài ra, còn sử dụng một số chức năng của một số phần mềm như Dreamweaver, Photoshop,… để chuẩn bị cho việc xây dựng và phát triển đồ án

và tạo giao diện

Trên thị trường tồn tại nhiều phần mềm webserver khác nhau như: Xitami, Appseves, IIS , mỗi loại đều có ưu nhược điểm riêng Điển hình là sản phẩm thương mại IIS do Microsoft phát triển, nó rất thích hợp với các trình dịch của Microsoft hơn còn với các trình biên dịch khác thì nó ít hỗ trợ, và lại khả năng chống và chịu lỗi của IIS không cao Còn Appserv Web Server do công ty Apache phát triển, được cung cấp miễn phí, hỗ trợ nhiều ngôn ngữ, chạy trên nhiều môi trường như Microsoft, Linux, Unix Apache là Web server phổ biến nhất hiện nay, chiếm khoảng gần 60% thị trường máy chủ Web trên thế giới chứng tỏ sự mạnh mẽ và đáng tin cậy của nó Trên Web server sẽ chứa những site mà các máy con có thể truy xuất đến các site này

Có thể download file msi,( nếu trên máy có sẵn Windows Intaller), hoặc file exe (dung lượng lớn hơn) Cài đặt theo các thông số mặc định của Apache

Trang 20

1.9 Tìm hiểu về PHP

Cùng với Apache, PHP và MySQL đã trở thành chuẩn trên các máy chủ Web Rất nhiều phần mềm Web mạnh sử dụng PHP và MySQL (PHP Nuke, Post Nuke, vBulletin…)

PHP là ngôn ngữ có cú pháp gần giống Perl nhưng tốc độ dịch của nó được các chuyên gia đánh giá là nhanh hơn ASP 5 lần, chạy trên nhiều hệ điều hành như Unix, Window, Linux nó hỗ trợ kết nối các hệ cơ sở dữ liệu lớn như MySQL, ngoài ra nó còn được Apache hỗ trợ như là một module cơ bản

1.9.1 PHP là gì ?

PHP (Personal Home Page hay PHP Hypertext Preprocessor) được giới thiệu năm 1994 bởi R.Lerdoft, như một bộ sưu tập của một ngôn ngữ chưa chặt chẽ dựa vào Perl và các công cụ của trang chủ Vì quá trình xử lý dựa trên máy chủ nên các trang Web được viết bằng PHP sẽ dễ nhìn hơn ở bất cứ hệ điều hành nào Nói một cách ngắn gọn: PHP là một ngôn ngữ lập trình kiểu script, chạy trên Server và trả về mã HTML cho trình duyệt Xu hướng sử dụng PHP trong việc thiết kế Web đang ngày càng phát triển trong giai đọan hiện nay và trong tương lai

Tới năm 1998, việc công bố phiên bản 3 thì PHP mới chính thức phát triển theo hướng tách riêng của mình Giống như C và Perl, lúc này nó đã là một ngôn ngữ lập trình có cấu trúc và tính năng đa dạng, chính vì thế đã khuyến khích các nhà thiết kế Web sử dụng PHP Nó có thể cung cấp một lượng cơ sở dữ liệu khá đồ sộ gồm cả MySQL, DBM, Hyperwave, Informix, Ocracle, nó cũng có thể làm việc với các hình ảnh, các file dữ liệu, FTP, XML, và host của các kỹ thuật ứng dụng khác

Mã PHP được đặt trong một kiểu tag đặc biệt cho phép ta có thể vào họăc

ra khỏi chế độ PHP, cú pháp của PHP cơ bản cũng giống như một số ngôn ngữ lập trình khác, đặc biệt là C và Perl

Trang 21

PHP được nhận dạng dưới 4 dạng phiên bản:

a.Ví dụ:

<?php //bắt đầu php echo”Hello World”;

Trang 22

c Xâu:

Có 2 cách để xác đinh 1 xâu: Đặt giữa 2 dấu nháy kép(“”) hoặc giữa 2 dấu nháy đơn (‘’).Chú ý là các biến giá trị sẽ không được khai triển trong xâu giữa 2 dấu ngoặc đơn

d Mảng: Mảng thực chất là gồm 2 bảng: Bảng chỉ số và bảng liên kết

● Mảng 1 chiều: Có thể dùng hàm list(), array() để liệt kê các giá trị của từng phần tử trong mảng để tạo mảng Có thể thêm các giá trị vào mảng để tạo thành 1 mảng > Dùng giống trong C

Có thể dùng các hàm asort(), arsort(), ksort(), rsort(), sort(), uasort(),usort(), and uksort() để sắp xếp mảng Tùy thuộc vào việc sắp xếp theo kiểu gì

● Mảng nhiều chiều: Tương tự như C, có thể dùng như VD sau:

$foo = "0"; // $foo là ký tự ASCII 48

$foo++; // $foo là xâu "1" (ASCII 49)

$foo += 1; // $foo là số nguyên (2)

$foo = $foo + 1.3; // $foo là số thực (3.3)

$foo = 5 + "10 Little Piggies"; // $foo là số nguyên (15)

1.9.3 Biến - giá trị

PHP quy định một biến được biểu diễn bắt đầu bằng dấu $, sau đó là một

chữ cái hoặc dấu gạch dưới

* Một số biến đã được tạo sẵn

Trang 23

ARGC: Số các tham số được truyền, dùng chung với ARGV

PHP_SELF: Tên của đọan mã Script đang thực hiện Nếu PHP đang được chạy

từ dòng lệnh thì tham số này không có giá trị

HTTP_COOKIE_VARS: Một mảng các giá trị được truyền tới Script hiện tại bằng HTTP COOKIE Chỉ có tác dụng nếu “track_vars” trong cấu hình được đặt hoặc chỉ dẫn <?php_track_vars?>

HTTP_GET_VARS: Một mảng các giá trị được truyền tới Script hiện tại bằng HTTP GET Chỉ có tác dụng nếu “track_vars” trong cấu hình được đặt hoặc chỉ dẫn <?php_track_vars?>

HTTP_POST_VARS: Một mảng các giá trị được truyền tới Script hiện tại bằng HTTP POST Chỉ có tác dụng nếu “track_vars” trong cấu hình được đặt hoặc chỉ

dẫn <?php_track_vars?>

1.9.4 Hằng số (constants_cố định)

PHP định nghĩa sẵn một vài hàm số:

_FILE_: Tên của script file đang được thực hiện

_LINE_: Số dòng của mã script đang được thực hiện trong script file hiện tại _PHP_VERSION_: Version của PHP

_PHP_OPERATE: Tên hệ điều hành mà PHP đang chạy

TRUE, FALSE : Giá trị Đúng , Sai

E_ERROR: Báo hiệu có lỗi

E_PARSE: Báo lỗi sai khi biên dịch

E_NOTICE: Một vài sự kiện có thể là lỗi hoặc không

Có thể định nghĩa một hằng số bằng hàm define ( )

VD:

<?php define("CONSTANT", "Hello world.");

echo CONSTANT; // in ra "Hello world."

?>

Trang 24

1.9.5 Biểu Thức

Biểu thức là một phần quan trọng trong PHP Phần lớn mọi thứ bạn viết đều được coi như là một biểu thức Điều này có nghĩa là mọi thứ đều có một giá trị Một dạng cơ bản nhất của biểu thức là bao gồm các biến và hằng số

PHP hổ trợ 3 kiều giá trị cơ bản nhất: Số nguyên, số thực, và xâu Ngoài

ra còn có mảng và đối tượng Mỗi kiểu giá trị này đều có thẻ gán cho các biến hay làm giá trị trả ra khỏi các hàm Bạn có thể thao tác với các biến trong PHP giống như trong C

Trang 25

d Switch

Switch (tên biến) { case trường hợp 1: break;

case trường hợp 2: break;

case trường hợp 3: break;

default : }

● Những điều cần nhớ:

Các cấu trúc điều khiển chi phối tốc độ của chương trình, cho phép chia nhỏ các thành phần khác nhau của một ngôn ngữ lập trình, phụ thuộc vào đầu vào và có thể dễ dàng thực hiện các thao tác

Có hai loại cấu trúc điều khiển trong PHP: Ngôn ngữ điều kiện và điều khiển theo một vòng khép kín

Hai loại cấu trúc trên chỉ có các lệnh không dùng dấu ngoặc, tuy nhiên các nhà lập trình thường sử dụng chúng để tạo mã dễ hiểu hơn Các lệnh này thường được ứng dụng với cùng một lý do

Break: Có thể được dùng để kết thúc lệnh hiện thời Nó cũng có thể được sử dụng để xoá bỏ For Loops và While Loops, Exit, xoá bỏ toàn bộ nhiệm vụ của ngôn ngữ lập trình Break còn được dùng ở bất kỳ đâu trong ngôn ngữ lập trình

echo "$input[0] + $input[1] = ", $input[0]+$input[1];

}

Trang 26

b Tham biến:

function add_some_extra(&$string) {

$string = 'and something extra.';

d Giá trị trả lại của hàm:

Có thể là bất kỳ giá trị nào, Tuy vậy, không thể trả lại nhiều giá trị riêng lẻ nhưng có thể trả lại một mảng các giá trị

VD:

function small_numbers() {

Trang 27

Để trả lại một tham trỏ, cần có dấu & ở cả khai báo của hàm cũng như ở giá trị trả lại

VD:

function &returns_reference() {

echo"Infoo()<br>n";

} function bar ( $arg = '' ) {

echo "In bar(); argument was '$arg'.<br>n";

Các toán tử logic: and or xor ! && ||

Toán tử thao tác với bit: & | ^ ~ << >>

Trang 28

Toán tử so sánh: ==, !=,<,>,<=, >=

Toán tử điều khiển lỗi: @ - khi đứng trước 1 biểu thức thì các lỗi của biểu thức

sẽ bị bỏ qua và lưu trong $php_errormsg

var $items; // Items in our shopping cart // Add $num articles of $artnr to the cart function add_item ($artnr, $num)

{

$this->items[$artnr] += $num;

} //Take $num articles of $artnr out of the cart

function remove_item ($artnr, $num) {

Trang 29

$this->items[$artnr] -= $num;

return true;

} else{

return false;

} }

class Named_Cart extends Cart

Trang 30

1.9.10 Tham chiếu

Tham chiếu trong PHP có nghĩa là lấy cùng một giá trị bằng nhiều tên biến khác nhau Khác với con trỏ C, tham chiếu là một bảng các bí danh Chú ý: Trong PHP, tên biến và nội dung của biến là khác nhau Vì vậy, cùng 1 nội dung

có thể có nhiều tên khác nhau.Tham chiếu PHP cho phép bạn tạo 2 biến có cùng nội dung

VD:

$a = & $b; > $a, $b trỏ tới cùng một giá tri

Tham chiếu truyền giá trị bằng tham chiếu Thực hiện việc này bằng cách tạo một hàm cục bộ và truyền giá trị được tham chiếu

Giá trị trả lại của một hàm bằng tham chiếu rất tiện khi bạn muốn sử dụng hàm

để tìm 1 giá trị trong 1 phạm vi nào đó

Khi bạn muốn loại bỏ mối liên kết giữa tên biến và giá trị của biến, sử dụng hàm unset()

Trang 31

PHP không bị giới hạn với mã HTML được trả lại cho trình duyệt Vì vậy,

có thể dùng PHP để tạo và thao tác với các file ảnh có định dạng khác nhau, bao gồm: gif, png, jpg, bmp, xpm PHP có thể đưa các file ảnh trực tiếp đến các trình duyệt Bạn sẽ cần biên dịch PHP với thư viện GD bao gồm các hàm thao tác với ảnh GD và PHP có thể sẽ cần có thêm 1 số thư viện khác, tuỳ thuộc vào định dạng của file ảnh cần dùng

VD: Tạo ảnh GIF với PHP

<?php Header("Content-type: image/gif");

Trang 32

thời điểm, cung cấp khả năng truy cập dữ liệu nhanh, bảo đảm cho người sử dụng được cấp quyền truy cập dữ liệu của hệ thống Do vậy, MySQL là đa ngừơi dùng,

đa luồng Nó sử dụng các câu lệnh truy vấn SQL(ngôn ngữ truy vấn có cấu trúc),

là một chuẩn ngôn ngữ truy vấn cơ sở dữ liệu hiện nay trên Web MySQL được chính thức sử dụng rộng rãi năm 1996 nhưng nó đã hình thành từ năm 1979 MySQL cómã nguồn mở và sử dụng miễn phí, nhưng với những mục đích thương mại khác thì nó cũng có các bản quyền thương mại nếu được yêu cầu cung cấp bản quyền Một khó khăn cho người lập trình không chuyên là khi sử dụng MySQL, việc tạo cơ sở dữ liệu hoàn toàn bằng lệnh, do đó đòi hỏi người sử dụng phải có tính cẩn thận và sắp xếp quy trình làm việc hợp lý

MySQL có thể quản lý tới hàng Terabyte dữ liệu, hàng triệu bản ghi, chạy trên nhiều môi trường khác nhau, có giao diện tương đối dễ sử dụng, có thể truy vấn

dữ liệu thông qua câu lệnh SQL

MySQL thường được sử dụng chung với PHP trong những trang Web cần sử dụng đến cơ sở dữ liệu

1.10.1 Các kiểu dữ liệu trong MySQL

a Kiểu ký tự

● Kiểu Char

Char( length ) //kiểu này có độ dài tối đa 255 ký tự

Varchar(length) //tự động thay đổi để trở thành kiều char

● Kiểu Text

Tinytext //độ dài tối đa 255 ký tự, kiểu text độ dài tối đa 65.535 ký tự

Mediumtext //có độ dài tối đa là 16.777.215 ký tự

Longtext //độ dài tối đa 4.294.967.295 ký tự

● Kiểu Enum: Có dạng Enum(‘value1’,’value2’,’…’) [default ‘value’]

b Kiểu số

● Kiểu int/integer: Có dạng Int(display size) [unsigned] [zerofill]

Nếu sử dụng unsigned cột này có thể lưu trữ giá trị từ 0 đến 4.294.967.295, nếu

Trang 33

● Kiểu Tinyint: Có dạng Tinyint(display size) [unsigned] [zerofill]

Nếu sử dụng unsigned có thể lưu trữ giá trị từ 0 đến 255, nếu sử dụng signed cột này có thể lưu trữ giá trị trong khoảng –128 đến 127

● Kiểu Mediumint: Có dạng : mediumint(display size) [unsigned] [zerofill] Nếu sử dụng unsigned có thể lưu trữ giá trị từ –8.388.608 đến 8.388.607, nếu sử dụng signed cột này có thể lưu trữ giá trị trong khoảng 0 đến 1677215

● Kiểu bigint: Có dạng bigint(display size) [unsigned] [zerofill]

Nếu sử dụng unsigned có thể lưu trữ giá trị từ –9.223.672.036.854.775.808 đến 9.223.671.036.854.775.807, nếu sử dụng signed cột này có thể lưu trữ

giá trị trong khoảng 0 đến 18.446.744.037.709

c Kiểu Date và Time

● Kiểu Date: Có dạng date lưu trữ giá trị có dạng YYYY-MM-DD có giá trị nằm trong khoảng 10000-01-01 đến 9999-12-31

● Kiểu datetime: Có dạng datetime[null]| not null][default]

● Kiểu timestamp: Có dạng timestamp(size), có khuôn dạng như sau:

Trang 34

1.10.4 Truy nhập MySQL từ PHP

Mysql_connect(host, user, password) để mở kết nối tới MySQL server với kết quả là giá trị trả về của hàm (giả sử là biến $db) Sau đó, dùng hàm mysql_select_db(database_name,link_id) để chọn cở sở dữ liệu muốn kết nối

Để thực hiện một câu lệnh truy vấn, dùng hàm mysql_query(query, link_id) Giá trị trả lại của hàm là kết quả của câu truy vấn Nếu bỏ qua link_id thì kết nối cuối cùng tới MySQL server sẽ được thực hiện

mysql_fetch_row(), mysql_fetch_array(), mysql_fetch_object()

mysql_fetch_row($result): Trả về một mảng các dữ liệu lấy từ 1 dòng trong cơ sở

dữ liệu Nếu đã ở cuối cơ sở dữ liệu, giá trị trả về là false Bạn phải dùng chỉ số của các trường trong cơ sở dữ liệu nếu muốn lấy dữ liệu

Ngày đăng: 10/08/2016, 14:49

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. NGUYỄN TRƯỜNG SINH (Chủ biên), “Sử Dụng PHP &amp; MySQL Thiết Kế Web Động”- Nhà Xuất Bản: Thống kê Sách, tạp chí
Tiêu đề: Sử Dụng PHP & MySQL Thiết Kế Web Động
Nhà XB: Nhà Xuất Bản: Thống kê
[2]. PHẠM HỮU KHANG (Chủ biên), “Xây Dựng Ứng Dụng Web Bằng PHP Và MySQL (Ấn Bản Dành Cho Sinh Viên - Có CD Bài Tập Kèm Theo sách)”- Nhà Xuất Bản: Phương Đông Sách, tạp chí
Tiêu đề: Xây Dựng Ứng Dụng Web Bằng PHP Và MySQL (Ấn Bản Dành Cho Sinh Viên - Có CD Bài Tập Kèm Theo sách)
Nhà XB: Nhà Xuất Bản: Phương Đông
[3]. NGUYỄN THIÊN BẰNG (Chủ biên), “Giáo Trình Nhập Môn PHP &amp; MySQL - Xây Dựng Ứng Dụng Web”- Nhà Xuất Bản: Lao động - Xã hội Sách, tạp chí
Tiêu đề: Giáo Trình Nhập Môn PHP & MySQL - Xây Dựng Ứng Dụng Web
Nhà XB: Nhà Xuất Bản: Lao động - Xã hội
[4]. NGUYỄN TẤN TRƯỜNG (Tác giả), “Hướng Dẫn Thực Hành PHP Và MySQL Toàn Tập”- Nhà Xuất Bản: Thanh Niên Sách, tạp chí
Tiêu đề: Hướng Dẫn Thực Hành PHP Và MySQL Toàn Tập
Nhà XB: Nhà Xuất Bản: Thanh Niên
[5] JULIE C.MELONI - “Teach yourself PHP, MySQL and Apache in 24h” Sách, tạp chí
Tiêu đề: Teach yourself PHP, MySQL and Apache in 24h
[6] W.JASON GILMORE - “Begining PHP and MySQL from : novice to professional” Sách, tạp chí
Tiêu đề: Begining PHP and MySQL from : novice to professional
[7]. Website: http://www.freecodevn.com http://www.forumsnitz.com http://www.ddth.com.vn Link

HÌNH ẢNH LIÊN QUAN

Sơ đồ yêu cầu tổng quát cho công ty - An toàn bảo mật thông tin trong thương mại điện tử
Sơ đồ y êu cầu tổng quát cho công ty (Trang 46)
Sơ đồ yêu cầu tổng quát cho khách hàng - An toàn bảo mật thông tin trong thương mại điện tử
Sơ đồ y êu cầu tổng quát cho khách hàng (Trang 47)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w