Tải bản đầy đủ (.pdf) (68 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.64 MB, 68 trang )

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

1


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

2


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

3



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.
 Thiết kế giao diện của hệ thống và test các giải pháp an toàn cho hệ thống.


4


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
thực chẳng hạn cuộc bán đấu giá hay trao đổi cổ phần.

5


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.

6


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.

7


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á.
Vì vậy phát triển thương mại điện tử là nhu cầu tất yếu của nền kinh tế hiện đại,

nó mang lại lợi ích cho cả các doanh nghiệp cũng như khách hàng.

8


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ì

9


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
vì nhân viên phải trả lời lặp đi lặp lại những vấn đề nảy sinh liên tục giống như
cách sử dụng mặt hàng, xử lý sự cố hay lau chùi di chuyển thay đổi mặt hàng,

10


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.
1.4.2 Hạn chế
+ Những hạn chế về mặt kỹ thuật:
Bảo mật hệ thống, tính đáng tin cậy, tiêu chuẩn và các phương thức giao
tiếp vẫn còn đang tiến triển.
Ở một số nơi, độ rộng dải tần của thông tin liên lạc bằng cáp không đủ
công cụ phát triển phần mền còn đang tiến triển và thay đổi nhanh chóng.
Hợp nhất giữa internet và phần mền EC với các ứng dụng và dữ liệu đã có

sẵn là một điều khó khăn.
Người bán cần sự phát triển một máy chủ đặc biệt, máy dịch vụ tập tin và
những thành phần khách.
Một vài phần mền EC có thể không thích hợp với phần cứng hoặc nó có
thể trở nên không hợp với hệ điều hành hiện tại hoặc thiết bị hiện tại.
+ 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

11


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.

12


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.

13


+ Đố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
smartcard.
1.6 Bảo mật cho ứng dụng web
1.6.1 Quản lý truy cập
Nhiều máy chủ Web như là IIS trên hệ điều hành Windows sử dụng một
tài khoản để chứng thực cho những người viếng thăm nặc danh (mặc định, tài
khoản trên máy chủ ISS được gọi là IUSER_<tên_máy_tính>). Khi một người
khách truy nhập vào trang Web sử dụng phương thức này, máy chủ Web sẽ tự
động ghi lại người dùng đó là tài khoản người dùng IIS. Chúng ta phải chú ý đến
những vấn đề sau:
+ Những account không sử dụng đến phải được xóa bỏ.
+ Phải tắt (disable) account Guest.
+ Account Administrator phải được đổi sang tên khác, và phải đặt
password phức tạp.

14


+ 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

15



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 –
password) được tạo ra từ một form và form được đệ trình(gửi dữ liệu là tên và
mật khẩu lên server) khi đó trình duyệt sẽ hỏi nếu mật khẩu được lưu. Sau đó khi


16


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. Spamboots 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.

17


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)

18


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.

19


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.

20


PHP được nhận dạng dưới 4 dạng phiên bản:
a.Ví dụ:
//bắt đầu php


echo”Hello World”;
//Kết thúc php

?>
b.Ví dụ

<script language=”php”>
Echo”Hello,World”;

</script>
c.Ví dụ
Echo”Hello,World”;
?>
d.Ví dụ:
<%
echo “Hello,World”;
%>
Tuy nhiên phiên bản đầu tiên vẫn được ưa chuộng và dùng phổ biến hơn.
1.9.2. Các kiểu dữ liệu
a. Số nguyên:
Được khai báo và sử dụng giá trị giống như C
VD: $a=1234; $a = -123;
b. Số thực:
VD:$a= 1.323; $a=1.2e3;
Chú ý: Khi sử dụng các số thực tế để tính tóan, có thể làm mất giá trị
của nó. Vì vậy, nên sử dụng các hàm tóan học trong thư viện chuẩn để tính
toán.

21


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:
$a[1] = $f;
$a["foo"] = $f;
$a[1][0] = $f;
$a["foo"][2] = $f;
$a[3]["bar"] = $f;
PHP không yêu cầu phải khai báo trước kiểu dữ liệu cho các biến, kiểu dữ liệu
của biến sẽ phụ thuộc vào kiểu dữ liệu mà bạn gán cho nó.
VD:
$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
ARGV: Mảng tham số truyền cho Script. Khi đọan Script chạy bằng dòng lệnh,
tham số này sẽ được dùng giống như C để truy nhập các tham số dòng lệnh.

22


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:
define("CONSTANT", "Hello world.");
echo CONSTANT; // in ra "Hello world."
?>

23


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.
VD :
$b = $a = 5;
$c = $a++;
$f = double($d++);
$g = double(++$e);
$h = $g += 10;
1.9.6 Các Cấu Trúc Lệnh
a. If ....else....else if
if (điều kiện) { các lệnh thực thi; }
elseif ( điều kiện) { các lệnh thực thi;}
else {các lệnh thực thi;}
b. Vòng lặp
while ( DK) { …}
do { …..} white ( DK );
for (bieuthuc1; bieuthuc2; bieu thuc3) {…..}
PHP 4 only :
foreach(array_expression as $value) statement
foreach(array_expression as $key => $value) statement
c. Break và continue
Break: Thoát khỏi vòng lặp hiện thời
Continue: Bỏ qua vòng lặp hiện tại, tiếp tục vòng tiếp theo.

24



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.
1.9.7 Hàm
Dùng giống như C. Ngoại trừ bạn không cần phải khai báo kiểu cho tham
số của hàm.

a. Tham trị:
VD:
function takes_array($input)
{
echo "$input[0] + $input[1] = ", $input[0]+$input[1];

}

25


×