BQ GIAO DVC DAO T30
TRITONG BSI HQC THANG LONG
—o0o--
THANG LONG
UNIVERSITY
KHOA LUAN TOT NGHIEP
yak y DUNG FRAMEWORK
THLIONG MAI DIEN TIT
MAO VIEN HUONG DAN:
SIKH VIEN THVC
CHUYEN NGANH:
Ths. Trim Tan Tan
Nguyen Bat) Trung - A15042
Nguyen Chi Cueing - A15897
Ging Nghe Thong Tin
HA NQI - 2013
IA CAM ON
D4 hoin thinh luan van nay chtIng t8i xin chin third' gni itri cam an den i quy
thiy c8 trong khoa Toin Tin trubng D3i hqc Thiing Long a quan tam gittp der chi
159 trang |
Chia sẻ: huong20 | Ngày: 07/01/2022 | Lượt xem: 519 | Lượt tải: 0
Tóm tắt tài liệu Khóa luận Xây dựng framework thương mại điện tử, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
bio tan tinh trong qui trinh thvc hien de tai. Nher d6 chi ng toi da tiep thu dtrqc
nhieu y kien d6ng g6p vi nhan xet qui biu dm qui thiy c8 thong qua cic bu6i bio
ye a cuang.
Ching ten xin girl 16i cam on sau sic nhAt den ThS. Tri'n Tuan Toin da trvc tiep
hueng can, dinh hueng chuyen mon, quan tim gitip der *In firth vi tao mqi diau kien
thuan lqi !that trong qui trinh Ong tic cling nhu Ow hien luan van.
Tren het chin toi xin big to long kinh trong vi sv biet an siu sic den gia
dinh da tqo mqi dieu icien tot nhit 44 chting toi ce the hoin thimh tot mqi ding viep
trong qui trinh thvc hien luan van. Ben card' d6, ching toi cling xin girl lai cim an
cua minh Uri ban be, luon quan tim, chia se, dOng vien toi trong suik thai gian thvc
hien luan van.
Mac 46 da rit ct ging tong qui trinh thtrc hien nhung luan van idgeg the Minh
nhfing thieu set. Ching toi mong 'than dtrqc sv g6p y cis quy diAy co vi ban be.
MVC LVC
PHAN 1. MY! THIEU
1
1.1. Giei thien ht thong thung mgi Min tn. (E-Commerce)
1
1.2. Tong (plan vi dAc PHP Framework
3
1.3. Framework thieving mgi dien tdr con c6 nheng 0? 3
1.4. Framework cAa chung to s81Am dirge nhttng gi?
4
1.5. Lqi fch ter viec xily dgng Framework thsrang m0 dimn tv
7
PHAN 2. TONG QUAN Vt DESIGN PARTTERN VA MO
MVC
2.1. min that ki (Design Patterns)...
.9
2.1.1. floc diem chung
9
2.1.2. Phan log! Pattern
9
2.1.3. Ccic miu that ki dirqc sti dung trong Framework
10
2.2. M8 hinh Singleton ve Registry.
11
2.2.1. Singleton
11
222. Registry
16
2.2.3. M6 hinh kit hop Singleton & Registry
18
2.3. MO H1NH MVC
20
2.3.1. Lich sir
20
2.12. Kan trtic mo hinh MVC
20
2.3.3. Dec cam mia mo hinh MVC
21
PHAN 3. CAU TRUC CiJA FRAMEWORK.
24
3.1. Ciin truc thu myc Framework
24
3.2. Deng clay de lien trong Framework ..
26
3.3. 1URL
27
3.4. Model
28
3.5. View
29
3.6. Controller
31
3.7. Cic Library
34
17.1. Thu vien Cart
34
3.7.2. Thu vien Clean
35
3.7.3. Thu vien Currency
35
3.7.4. Thu. Wen Form_ validation
36
3.7.5. Thus vin Session
37
3.7.6. Thus Wen User control
37
3.8. Cie Helper
38
3.8.1. UY8 helper
38
18.2. Text helper
39
3.8.3. Url helper
39
PHAN 4. DAC TA VA XIV DIPIG CAC cllirc NANG CiJA Ilt THONG
THUONG MAI DEW TIT....
41
4.1. Phis tfch that hi
41
4.2. Dec ti °lc cher sang cfis hg thang.
42
UC #0001
42
QUATN Lk NHOM NGI167 DUNG, NGIVI DUNG
42
UC #0002...
...47
QUyiN NHA SAN XUAT
47
UC #0003
..50
QUIN LI.
DANN MCIC SAN PH&
50
UC #0004
53
QUAN Li sky PlaM
53
UC #0005 57
QUAN NHOM KIIACH HANG
57
UC #0006 60
QUIN
ICHACH HANG
60
UC #0007 63
QUAN DO7V HANG
63
UC #0008
.....67
QUAN Lk COUPON
67
UC #0009 71
GUY MAIL 71
UC #0010
73
QUAN Lir LOY TIN Tilt
73
UC #0011
76
QUAN Lk TIN TUC
76
UC #0012
-.79
BAO CAO, THONG KR
79
UC #0013
83
QUAN Li' TIEN n 83
UC #0014
86
MUA HANG
86
4.3. Tir dien de lieu
93
4.4. My dung cic chat thing cis Framework
99
4.4.1. Qucino, nham nguai dung
100
4.4.2. Quinn ly nguai dung
101
4.4.3. Qucinl" nha san flat
102
4.4.4. Qucinlji danh myc san phim
103
4.4.5. Quern !juin pham
104
4.4.6. Quern ly nhom khach hang
106
4.4.7. Quoin ly khcich hang
107
4.4.8. Quern orr coupon
109
4.4.9. Quern 135 clan hang
110
4.4.10. Quern ly loai tin hit
113
4.4.11. Quern 135 tin tar
114
4.4.12. Bao cao
115
4.4.13. Quern ly ccic phrtang thar thanh to:in
117
4.4.14. Quern Ifr tie'n te 118
4.4.15. Backup/Restore
119
PHAN 5. XAY DUNG WEBSITE SIT DUNG FRAMEWORK
121
5.1. GM Mtn bei tome
121
5.1.1. MO to bai loan
121
5.1.2. Mac tieu cbc chic ruing can qua III
122
5.1.3. Phan tick thilt ki he thong
123
5.2. Clu blab co bin
124
5.3. My dvng cfc chit ning
126
5.3.1. Quern ly tcic gici
126
5.3.2. Thong ke truy cap
130
PHAN 6. KI THUAT NANG CAO HIP NANG VA BAO MAT CHO INC
DUNG WEBSITE
6.1. M(it so ky thnot sir dyng trong Framework
...132
132
6.1.1. Method Chaining
132
6.1.2. Active Record
133
6:1.3. AJAX 135
6.1.4. Javascript
140
6.1.5. Payment 141
6.2. Rio mjit cho ding dyng website
143
6.2.1. HTML injection va Cross site scripting
143
6.2.2. SQL Injection
145
6.2.3.
Cross — site Request Forgery
148
DANH MVC HiNH ANH
Hinh 2.1. Diem dank theo each thong thtrong
13
Hinh 2.2. Diem danh theo m8 hinh Singleton
15
Hinh 2.3. Mo hinh MVC don gian
20
Fah 2.4. Throng truyen tree mo hinh MVC.
21
Hinh 2.5. Sr khac nhau gala MVC vi 3 — layers
21
Hinh 2.6. Qua trinh truyen trong m6 hinh 3 — layers.
22
HIM 2.7. Qua trinh truyen trong MVC.
22
Hinh 4.1. So d0 Usecase Framework
41
Hinh 5.1. Sa dO UseCase he thting
123
Hinh 5.2. Quy trinh mua hang
124
Hinh 5.3. Cai dot — Glen thieu.
125
Hinh 5.4. Cai dat — Ciu hinh.
125
Hinh 5.5. cai dot - Ket thus.
125
Hinh 6.1. ling dung web truyen thong Ora° va frng dung AJAX
136
Hinh 6.2. Tucmg tac diing b0 trong CEng clung web truyen thiing vi di b0 trong vng
dung AJAX.
137
Hinh 6.3. AJAX — Form thing kj, . 138
Hinh 6.4. AJAX — Hien thi loi
139
DANH MVC WET TAT
ICI hien viet tit
Ten day da
TMDT Throng mrti din ter
MVC
Model — View — Control
PL Presentation Layer
BL Bussiness Layer
DL Data Access Layer
URL Uniform Resource Locator
URI
Uniform Resource Identifier
XSS Cross-Site Scripting
CSRF Cross — site Request Forgery
CMS
Content management system
QL Quart lj
NV NMI vien
PHAN 1. G161 THIEU
1.1. Gioi (Mtn re he &Ong Hwang mai dien tir (E-Commerce)
Trong vii nam ter lai day, dac biet la 6 Viet Nam, cum ter Thuong Mai Dien Ter
(TMDT) (con gel la E-Commerce hay E-Business) xuat hien ngay met phi) bien. Pham
vi cua TMDT rat rOng, bao quit hau nhu mei hinh thai hog deng kinh t4, khong chi
bao gam buon ban hang hea va dich vu, vi the kho c6 the um met CUM nghia co ranh
gieri re ret cho khai niem TMDT. Xet met cach dog quit, cac dinh nghia TMDT duce
chia thanh hai nhem tity thuec vao quan diem:
- Theo nghia hcp, TMDT chi don than b6 hcp thuang mai dien ter trong viec
mua ban hang hem va dich vu thong qua cac phuong tien dien ter, nhet la qua
Internet va cac mang lien thong khac;
Theo nghia Ong, TMDT la cac giao dich tai chinh va thtrcmg mai bing
phuong tien dien ter nhu: trao din de .
lieu dien ter, chuyen tien dien t6 va cac
hoat &Ong nhu girl/nit tien bang the tin dung...
TMDT co the duce phin loci theo tinh each ciut ngueri tham gia:
Ngueri tieu dung:
+ C2C (Consumer-To-Comsumer) Ngueri tieu dimg veri ngtred tieu dimg;
+ C2B (Consumer-To-Business) Nguai tieu dung vai doanh nghiep;
+ C2G (Consumer-To-Government) Ngtrei tieu clang v6i chinh
Doanh nghiep:
+ B2C (Business-To-Consumer) Doanh nghiep veri ngtreri tieu dimg;
+ B2B (Business-To-Business) Doanh nghiep veri doanh nghiep;
+ B2G (Business-To-Government) Doanh nghiep veri chinh phi;
+ B2E (Business-To-Employee) Doanh nghiep veri nhan vien.
Chinh phi:
+ G2C (Government-To-Consumer) Chinh phit veri ngueri tieu &mg;
+ G2B (Government-To-Business) Chinh phu veri doanh nghiep;
+ G2G (Government-To-Government) Chinh ph6 ven chinh
Ngtreri to khai thac sire mash cua TMDT vi met se bar do nhu:
- TMDT gulp cho cac doanh nghiep nitm dirge thong tin phong phu ve thi
throng va deli tic;
- TMDT giip gam chi phi sin xuit;
- TMDT giup giam chi phi ban hang vi tiep thi;
- TMDT thong qua Internet gitip ngueri tieu thing va cac doanh nghiep giam
ding Ice theri gian va chi phi giao dich;
Trang 1
- TMDT tao dieu kien cho viec thiet lap vi ding et mei quan he giaa cic thanh
phan tham gia vao qua trinh thuong mai;
- TMDT tao dieu kien sem tiep can nen kinh 4 s6 hod.
Voi nhang loi ich nhu vay, TMDT ngily cling phat trien math me, bieu hien qua
viec nhftng hang kinh doanh Ulm tuyen xuit hien ugly met nhieu tren Internet.
Cie cling dok tieu bieu cua met giao dich tree cite trang kink doanh true tuyen nay:
1. Khach hang, tir met may tinh tai met nth nao do, dieu nherng thong tin thanh
town vi dia chi lien he vao dun dat hang (Order Form) elm Website ban hang
(con goi la Website TMDT). Doanh nghiep nhk dirge you eau mua hang hod
hay dich vu cim khach hang vi phan hei xac Ethan tom tit lai nhang thong tin
can thiet nhu mat hang da chqn, dia chi giao nhOn vi s6 phieu dat hang...
2. Khach hang kiem tra lai cac thong tin vi kich (click) vao not (button) "dat
hang", tir ban phim hay chuOt (mouse) dm may tinh, a giri thong tin tra vet
cho doanh nghiep.
3. Doanh nghiep nhOn vi Itru ft& thong tin dat hang deng thtri chuyen tiep thong
tin thanh toan (s6 the tin dung, ngily dio han, chit the...) da &Km ma hoa den
may chit (Server, thiet bi xi: 19 du Ho) caa Trung tam cung cep dich vu xir 19
the tren mang Internet. Voi qua trinh ma h6a cac thong tin thanh Wan ciut
khach hang duqc bao mat an Wan nhiim cheng gian lan Kong ale giao dich
(ching han doanh nghiep se khong biet dugc thong tin ve the tin dung cita
khkh hang).
4. Kin Trung tam Xfr 19 the tin clung nhon duk thong tin thanh town, se giii ma
thong tin \di xir 1y giao dich ding sau bac tuerng lira (FireWall) vi tech roi
mang Internet, intim rave dich bao mot tuy 'et del cho cac giao dich thuang
mai, dinh clang lai giao dich vi chuyen tiep thong tin thank tom den ngfin hang
tea doanh nghiep (Acquirer) theo met dutmg day thue bao rieng (mOt dtrimg
truyen s6 lieu rieng biet).
5. Ngan hang edit doanh nghiep giri thong diep dien tir yeu eau thanh tom
(authorization request) den nein hang hoac cong ty cung cap the tin dung ctia
khach hang (Issuer). Va to chat tai chinh nay se phin hei la long y hok tir
chlai thanh town den hung tam xir 19 the tin dung hen mang Internet.
6. Trung tam xir 19 the tin dung ten Internet se tiep tic chuyen tiep ithimg thong
tin phan hei hen den doanh nghiep, vi thy theo do doanh nghiep thong bao
cho khach hang dirge re la dun dat hang se threw thgc hien hay khong.
Toan b6 thtri gian thirc hien met giao dich qua mang tir butrc I => 6 dirge xir 19
Kong khoang 15 - 20 giay.
Trang 2
1.2. Tang quan ve the PHP Framework
Thanh ngif Framework khong con xa lu gi vela nhcmg ngutti da lam viec va
nghien ciru PHP. Framework giting nhtr mot thu vien ma lenh duqc xay dtmg sin de
cho nhimg ngutri lop trinh vien sau nay c6 the sir dung lai hoac phat trien.
Hien nay, PHP la met nen nglit script rat phO bien ben rillimg 1Y do: firth hoot, cli c
sir dung, a h9c, Nhung doi viec vitt ma PHP, hay bat cir neon ngit lap trinh nao
khic, co the fret nen don dieu va limg eung. DO la Ific ma chimg ta net! den PHP
Framework.
ttr?mg chung ding sau each thirc lam viec cua met PHP Framework duce ke
den la Model — View — Controller (MVC). MVC la 1 mo hinh (kien trim) trong Iap
trinh, cho phep Lich biet cac ma nghiep Ai (business logic) va giao dien (UI) thanh cac
phan rieng biet, dieu nay thing nghia yeti viec ta c6 the chinh sira chting 1 each rieng
le. Trong cum tir MVC thi: Model (M) co the hieu la phan xir 15, cac thao tic ve nghiep
vu (business logic), View dirgc hieu la phan xir ly 16p . giao (lien (presentation layer),
va Controller lam nhiem Ai 19c cac yeu eau dugc g9i fir ngtkri dung, c6 chile nang nhu
met dinh tuyen (route) - dieu chinh, phan lutong cac yeu au de gel dung Model va
View thich hqp. Ve ca ban, MVC chia nhe qua trinh xir 13, dm met img dung, vi the
nen chfing ta c6 the lam viec tren tirng thenh phan rieng le, trong khi nhung thanh phan
khac se khong bi anh hieing toi. Thtrc chat, dieu nay glop der chting ta lop trinh PHP
nhanh hen va it phtic tap hon.
PHP Framework hien nay kha day diz va dap img him het cac dieu kien can va dti
cho viec xay dung met do an. Nei toi PHP Framework thi nai bat nhat vin la: Zend
Framework, CodeIgniter Framework, CakePHP Framework,.... Cac framework nay
cho trong nhang chi tiet nhe nhat trong lap trinh. Nhim giant tai th?ri gian van dung
cho ngtred sir dung chimg. Ching han nhu cac helper gall) nguiri dung xay dung form,
cac helper gitip ngtrai dimg sir dung nheng the HTML, the helper gifip ngutri dung
validation cac form va chi dieu nay, thut to chi gap phan lam cho
Framework do ter nen than thien va quen thuOc vOi nguori dung nhieu ham.
1.3. Framework thuwng m0 dien tie clin c6 nhung gi?
Cac module can this& khi xay dung met Framework thircmg mai dien tir:
Module San phim: Module nay cho phep doanh nghiep chia thanh nhieu danh
muc san pham c6 the to thay dot theo nhu au vi du chia thanh san phim not that, san
phim my nghe, san pham ding san...vvv. Trinh bay thong tin, hinh anti gia thank .' cita
san pham theo clang e-catalog. tich hey sin giO mua hang dien tie (e-shopping cart)
phuc vu cho nhu cAu mua sim teen mang cua khitch hang.
Trang 3
Module Thank totin qua ming: Module nay di kern vei gio mua hang dien tit (e-
shopping cart), phvc vg cho nhu cau thanh tom qua mang cim khich hang.
Module Quart ly Mack hang: Ltru gift thong tin ve qua trinh dot hang, mua
hang, hem don thanh toar ►...vvv, giep khaeh hang va doanh nghiep thuon tien era ciru
khi can thiet.
Module Dick yin Hien thj thong tin, hinh anti ve cac dich vv cua doanh nghiep
tren website. Moe djch vv c6 1 form you cau djch vv di kern, cho phep khich hang a
ding lien lac khi can thief.
Module Tin at Module cho phdp chia nho thenh nhieu log tin khic nhau vi dv
tin trong nark, tin quac te, tin tiro cling nghe, tin nOi b0...wv.
Module Tito them db
,y kiln: Doanh nghiep c6 the dtra ra nhang cau h6i de thihn
de y kiln cea khach hang khi vieng tham website.
Module Qudng cbo trot aryls: Cho phep doanh nghiep guard)", cac banner, logo
cua cac 461 tac tren website minh, too ngu6n thu tit website.
Ti?,: ich tim kilm: Bao gEm 2 chfrc nang tim kiem: Tint nhanh va tim nang cao.
- Tim nhanh: cho phdp ngtteri xem tim kiem nhanh bat kir thong tin nio bong
website th8ng qua thao tac don gun la nhap tit khera can tim va nhan enter de
ra ket qua.
- Tim /fang cao: cho phep ngueri xem gi6i has khu vttc tim IciEm thong tin de kit
qua hien thj ra chinh xac hon.
Tick kip bj dlm ckuyJn saw Bao gom b0 dem s6 ngueri da truy cap, dang truy
cap website, dem s6 lan da dugc xem cho ten sin pham.
Form lien kf trot tuyin: Cho phep Mach lien he veri doanh nghiep khi co nhu cau.
1.4. Framework ala china to 0 lam dove nhirng gi?
- Quin ly sin pham:
+ Dac truing net b8t bong tinh nang quan tri san pham la ha trq linh hog trong
t6 chin ahem sin phim, cho phep melt sin phim c6 the dirge sao chap va
xuat hien 6 nhieu nh6m khac nhau. DEng thee, co the cai dot nhieu log sin
phim trong quart tri de cac bleu mitt dif lieu phi hap vei dac thu timg log
san pham, vi dv cac du lieu m6 to cho melt log thvc pham khong gi6ng veri
dit lieu cho melt hang dien tit. KM nang nay dac biet quan trong trong
thucmg mai dien to khi website co nhieu mat hang khic nhau ma yin muiln
lam n6i bat dac trong cita mEi loci hang.
+ Ngoli ra he thong hE trq kha nang dien khien cac thuOc tinh hien thi cho
phdp melt sin pham dttqc hien thj theo nhting dac trung khac nhau, tai cac
Trang 4
vi tri nOi dung khac nhau tren giao dien. Tinh nang nay rat quan tang d6i
veri viec trien khai cac mac tieu hay chuang trinh quing cao, khuyen mai
colt tang web.
+ He thting 'quan tri gia sin phim cho phdp quirt tri gia tham chien dash rieng
cho ngubi bin (gia nhOp g6c), gia bin, gia khuyen mai. Viec ho trq gii
nhap gtic chi dinh cho ngtr?ri bin, cho phdp ngtreri bin co the tham khio gia
ngay tren website de &Op quyet ?lath co chip nhan mire gia ma ngutri mua
de nghl khi mu6n mac ca mua hang hay khong.
+ Ngoai ra he th6ng cbn thi'et ke cho phep cap nhat gia cho hang log sin
pham cling lac, tinh nang nay dac biet quan trgng trong throng mai dien hi
khi s6 lugng sin phim tren website len den hang nghin va viec cap nhat lin
lugt la lchong the.
Quin 19 danh mac sin phA'rn:
+ He thifing hiS trq viec them, cop nhat vi x6a cac thong tin ve danh mac sin
phAm. Gap ban a ding trong viec quan 19 cac sin pham.
Ho trq khach mua hang:
+ Xay long giao dien de nhin vi b6 tri cac sin pham hap 19 lim sao cho
khach hang co the de ding tim den sin phim ma mirth mong main. He
thOng h6 trq chirc nang tim kitm sin pham met each nhanh va chinh xac
that.
Quin 19 gib hang:
+ Gib hang dien tx cho phdp ngutd mua hang c6 the ding lac ?tat mua nhieu
sin phim veri cac so Sang khac nhau. Gib mua hang ltru tit cac sin phAm
ma ngutri mua da chgn, cho phdp nguen mua co the xem lai nhang mat hang
minh da chgn dua vio gi6, them vio gib mat hang meri hoac be bin di sin
pham nio do.
+ De dat hang, khach hang chi can don gun kith chuOt vao sin phtim do, tat
ca cac thong tin ve sin pham bao g6m gia ca, mo ta, ma sin pham hay cac
thong tin khac deu dugc hr gong km tnr trong gi6 mua hang. Khi khach
hang da chgn hang xong, hg chi can nhan nut that hien viec mua hang,
phan mem gio mua hang se to dOng tinh toan tong sic) sin pham, thing gia tri
tien thanh toan cling nhu cac chi phi van chuyen hay thue
+ Ngoli ra, chirc nang gi6 hing cda Framework con cho phop khkh hang
chgn sin pham clua vao gin, de gi6 vao mOt ngan io va kith hang sau mOt
vai ngay quay trer lai mai quyet (firth mua hok thanh toan.
- pat hang:
Trang 5
+ Qua trinh dit hang th8ng qua gib hang dien tir cho phdp thu th#p day du the
thong tin cita nortri mua hoc them]) vien kern theo cac thong tin thanh than.
Citc th8ng tin nay trq gitip b0 ph#n ban hang trong qui trinh quart tri va zit
ly dan hang.
Van chuyen:
+ Hg thOng h6 trq viec quirt ly cac hinh that in chuyen. Ban co the them
vao cac hinh that van chuyen va 4p nh#t gia cua mOi hinh that khi an.
- Khuyen mai:
+ Hg thong ho trq viec giant gia danh rieng cho the nhem khach hang. Ngoili
ra 4 thOng ho trq viec quan 19 the Coupon giam gia.
- Quart 19 don hang:
+ Tinh nAng quart tri cho phep nguoi quan tri ket twit cat thOng ke ve mua
ban tren cac dan hang, so luting sin pham da ban ra hoc cac thinh vier
lien quan den dan hang.
+ Ngoli ra, ngtrai quan tri co the cep nigit tinh tang zit ly dan hang kern theo
the ghi chit xir 19 dan hang. Trong throng hap co nhieu ngutri ban hang,
quart tri ban hang co the tiny than chuyen dan hang den cho ngtreri bin hang
pha hgp.
+ Doi veri phia ngtrai sir (twig, khi dang ky va clang nh#p tai khoin thanh vien,
co the theo del thong ke cac dan hang cua minh va trong trtremg hap dirge
quart tri vien kich hoot, co the theo dOi lich sir tinh tang tar 19 dan hang.
Thanh toan:
+ Gib hang dien to cho phep tech hap yea hau het cat cOng thanh toan dien tir
phO bien hien nay nhtr Paypal.com, Authorize.net , Onepay.vn,
Nganluong.vn... tir do hb trq nh#n thanh toan bang the tin dung hoc the
ghi ng ngay tit website. Ket qua thanh toan dirge phan anh ngay 1#p tat
vao thong tin don hang khi dOt hang.
Quin 19 ngtrai dung:
+ Website la rat quan tang ho trq nguOi bin hang trong viec xay dung va then
khai cac chuong trinh bin hang, tham do Uri truemg va xac tier khuyen mai...
+ H6 trg cac tinh nAng quan tri thong tin thanh vien, khach hang, cho phdp
nguai quan tri quart ly danh mac, ket xuat the thong tin va theo d6i the don
hang lien quan den cac thanh vien. Ngoai ra, ban than cac thanh vien cling
co the clang nh#p de chinh sera cac thong tin caa minh va xem xet lich sir
mua hang.
Sao luu / Phut hOi:
Trang 6
+ Sao luu cho phep nguoi quan tri he thtng co the tao ban sao (backup) town
b0 ca so du lieu hoc timg bang ca so da lieu. Diing died sao chop ra the
thiet bj luu
+ Kh8i phue cho phep nguoi qua tri he thong co the khoi phuc tir nguem du
lieu da sao luu trutc da (restore), toan b0 ca sfr du lieu hoc phue hti tang
bang ca se du lieu.
Bao met:
+ Framework cart cluing ta se nga chart mot each tai da cac each that VII
cong nhtr: SQL injection, CRSF, XSS, spam
Marketing, SEO, quan he khach hang:
+ Ngtrai qua tri c6 the sir dung chile nang nay de girl cac thong tin khuyen
catalouge,... den khach hang. Qua 66, thac day va dua khach hag den
guy& dinh thut hien viec mua san phAm cling nhir tang etrang mti quan he
gicra cong ty vai khach hang.
1.5. Loi ich tir viec illy thing Framework Huron mai their' tir
Co rat nhieu ly do lchac nhau de the lop trinh vien sir dung PHP framework,
nhung mot trong nhung 19 do chinh van 11 kha nag giap cac lap trinh vien tag ttc
qua trinh phat then Ong dung. Viec sir dung 10 the ma lenh gieng nhau trong nhieu
ling dung se glair cac ban tiet kiem &we thin gian va cong sac mot each clang ke. MOt
framework se sung cep sin cac module nen tang can thiet de xay dyng mot ling dung,
vi the, cac lap trinh vien co the ten dung duge thai gian de phat trim the ling dyng
thyt te, hen la mat thai gian de xay chmg lai nen tang tren moi project.
Sr On dinh la mot 19 do lem dti vai the lap trinh vien dang sir dung Framework.
Tirth den gian la mat diem mph tha PHP, d6 la 19 do tai sao lai co nhieu ngutri thich
sir dung no, nhung clang thei do cling la diem yeu etia no. PHP thi kha de hoc vi sfr
dung, dee biet la dti vai nhung nguiri mai lam quen yeti lop trinh, tuy nhien, ha co the
thtremg xuye'n viet ma mot each khong khoa hac va them chi khong he nhen thire duce
dieu nay, yeti PHP, trong nhieu trtrang hap the (mg dung van se lam viec dug; nhung
vo tinh ha co the tao ra cac 1& hOng bao met lan trong ma lenh elm minh, va bi hacker
khai thic.
HA'u het cac PHP framework deu co sin rat nhieu thanh phAn ma rang
(extention), va cling et rat nhieu framework khac nhau de chting ta lya chem. Chimg ta
them chi con et the to viet rieng cho minh mot framework. Tuy nhien, chang ta nen
can nhic ky tnrac khi quyet dinh sir dung hoc ty phat then mat framework cho minh
hay khong, nen ty det cau hal cho chinh minh la: NO co tiet kiem duce cho ban thai
Trang 7
gian va cong sac hay kh8ng ? CO glop arng clang ban hoat dOng Mt hun thong ? Co di
thin &nye sv On dinh cho frng clang khong ?
Trang 8
PHAN 2. TONG QUAN VE DESIGN PARTTERN VA MO HINH MVC
CO nhieu each khac nhau de xay dvng vi thiet ke mOt Framework. Trong khoa
luan nay, chung ta se xay clang mOt Framework de sit dvng va de hieu.
Trong phat trien phan mem hien dai, kien true tong the coa dir in dang mOt vai
fro quan tang, dac biet yeti bO khung (framework) va mau thiet ke (design pattern).
2.1. Man thiet ice (Design Patterns)
Pattern me ti mOt giai phap chung doi voi mOt van de nao do trong thiet ke
thuing dugc "lap lai" trong nhieu dv an. Nei mOt each khac, mOt pattern ce the dugc
xem nhu meta "khuon mice co sin ap dung dugc cho nhieu tinh hireling khac nhau de
giai guy& mOt van de cu the. Trong bat kt he thOng phan mem nao chimg ta cling co
the bit gap cac van de lap lai.
2.1.1. Nic Sim cluing
Pattern dugc hieu theo nghia tai sit dung 9 tiring han la ma lenh. Pattern cho
phep cac nha thiet ke co the cling ngOi lai vol nhau va cling giai quyet mOt van de nao
di ma khong phai mat nhieu thin gian tranh cai. Trong rat nhieu fruiting hap, dv an
pilaff mem that bii la do cac nha phat trien kh8ng co dirge sir hieu biet chung trong cac
van de ve kien talc phan mem. Ngoai ra, pattern cling cung cap nhitng thuat ng>r va
khai niem chung trong thiet ke. Noi mOt each don gian, khi de cap den mOt pattern nao
day, bat k9 ai biet pattern do deu co the nhanh ching hinh dung ra "bfrc tranh" cfm giai
phap. Va cuei cling , neu dp clang pattern hieu qua thi viec bao tri phan mem cling dugc
lien hanh thuan lyi han, nim bit kien trim he thong nhanh han.
Pattern ha try tai sit clang kien tnic va mo hinh thiet ke phan mem theo quy mo
lin. Can phan biet design pattern vai framework. Framework hti try tai sir clang mo
hinh thiet ke va ma nguon 6 mire chi tiet han. Trong khi d6, design pattern dirge van
dvng o mule ding quit han, giup cac nha phat then hinh dung va ghi nhan cac cAu frac
tinh va dOng sung nhu quan he tircmg tic gifts cac giai phap trong qua trinh thiet ke
ling dvng dei yeti mgt chuyen khu rieng biet.
Pattern da tuang thick. Pattern khong phv thuOc vio ng8n ngfr lap trinh.
2.1.2. Ph& logi Pattern
Pattern dirge phan loaf ra lam 3 Whom chinh sau day:
- Nhom eau thanh (Creational Pattern): Gem Factory, Abstract Factory,
Singleton, Prototype, Builder... Lien quan den qua trinh kited Mo doi Wang cu
the tir mOt dinh nghia triru tugng (abstract class, interface).
Trang 9
- Nham cau trim tinh (Structural Pattern): Gam Proxy, Adapter, Wrapper,
Bridge, Facade, Flyweight, Visitor... Lien quan den van de lam the nao de the
16p vi did Wong keit hop veld nhau tao thanh the cAu true len lion.
- Nhern trong tic dOng (Behavioral Pattern): Gram Observer, State, Command,
Iterator... M6 ta each thirc de de 16p hale doi tugng co the giao titp yeti nhau.
2.1.3. Cdc mtia miet ki thaw sir (long trong Framework
- Model — View — Controller (MVC).
- Registry.
- Singleton.
a. Model — View
— Controller (MVC):
Ma hinh MVC (Model - View - Controller) la mOt kien true phan mem hay
ma hinh thiet ke dirge sir dung trong ky thuat phan mem. NO gulp cho cac nhi
phat trien Lich img dung dm hg ra 3 thanh phan khic nhau Model, View vi
Controller. M8i thanh phan co met nhiem vu rieng biet va do'c lap yr% the
thinh phan khk.
b. Singleton
- Khi phat trien met img dung web, co mOt van de khien chimg ta phai suy nghi,
46 Ii lam sao de co met 16p (class) chi co chinh xk mot the hien (instance),
the hien de e6 the truy cap tir bat cir dim trong pham vi ling dung vi ddc biet
chang ta khong mulin sir dung bien town cue (global variable) vi mOt s6 bat lqi
cita bien toan cue, vi du nhu khi chting ta main kiem tra met each chi ti'et
chuong trinh va muon biet bien town cue doge sir dung the nao thi chitng ta se
phai xem xet chi tiet tirng clang code trong m8i file bed ddc diem dm bien tom
cue la no co the dirge sir dung 6 bat 14 dau trong chuong trinh, viec 46 se
khien chfing ta mat rat nhieu died gian. Han nal, vide sir dung bien than cue
rat nguy hiem vi gia tri cua ne c6 the dirge thay dOi 6 bit cir ham nao m8i khi
ham da dirge goi va chimg ta rat kh6 kiem sok dirge chuyen gi dang xay ra
yeti bien town cue.
DO la hie ma Singleton co the giup ta giai quyet nhimg van de tren. Singleton
la mOt design pattern dirge sir dung khi plui toren trong ck Framework. NO
dua ra each thi'et ke de dim bao ring chi tao ra khong qua mOt the hien ctia
mOt lerp va the hien nay co the throe truy cop tir bit cir dau. N6 thuong dirge sir
dung cho the dad tugng nhu eau hinh he thOng, ket not co so dit lieu...
c. Registry
- La mOt trong nhirng pattern eat him ich. Ta coi n6 nhu melt chiec gi6; sir dung
Registry ban co the them dir lieu (ca gia tri va dai tugng) vao cdi gi6, va truy
Trang 10
xuat chang khi duqc you ciu tir cac phin lduic dm met img dung. Khi moi du
lieu nhu the drat dieu khien Uri met ea tuqng Registry duy nhilt (single), no
lam cho vies truyen alit lieu va den tuctg xung quanh meting dung dan gian
han rat nhieu so voi viec truyen tit tit nhemg der lieu ay nhu met tham s6 rieng
tu (individual) vao met phuang that kWh tao hay cid eat. Trong met hinh that
(fashion) tuang ta, Registry c6 the thay the cho nhu cau phai c6 tat ca 461
ttrqng ban can tray cap totm cut ten ma thii ttrqng 46 hoat Ong nhu met
Singleton.
+ Chinh Registry vira c6 the duqc truyen vao (passed around) nhu met tham
s6 vira c6 the duqc chuyen thanh Singleton de cho phep truy cop town cut
to5i no tir bit cir nai eau trong ang dung. O dau n6 duqc sir dung de thay the
nhieu Singleton, n6 c6 the thay the nhu cau phai biet ten moi 16p rieng
dieu lim cho viec sat clung lai cat 16p trong cac img dung khk de ding han.
+ Registry pattern cho phep luu tre . va truy xuat de. lieu. Cac dei tucmg an
phai truy cap tok cat tap trung trong met dei ttrqng duy nhat. Met lOp
Registry thong thtrtmg bao gem ben phuang that: ghi du lieu (set), truy
xuat ear lieu (get), huji (unset), kiem tra sa ton tai cua 46i arcing (isset).
Trong PHP 5.1, chi mg ta c6 the sit dung cat phuang that ma thuat (magic
method) de the hien cat phuang thirc tren met cach dang.
Mo hinh ket luyp Singleton & Registry
Thay vi chimg ta phai truyen Registry nhu met tham se kb% tao thi chGng ta
se bien 46i tucng Registry trer thinh met dei ham Singleton. Su bien depi nay
rat dan gian, chin ta chi can them met phuang that Singleton() kieu static.
2.2. Mt) hinh Singleton vi Registry
2.2.1. Singleton
De hieu re han ve Singleton, chang ta se Wang tutng met lap hgc co Mn sinh
vien va ben sinh vien nay se phai diem dank de giao vien ghi ten vac, s6. Doan code
duti day se the hien cong viec tren theo citch thong thutmg.
<?php if ( ! defined('BASE_PATH')) exit('No direct script access
allowed');
/**
* @framework: PHP5 - ECOMMERCE FRAMEWORK
*
• @author:
fatange126@gmail.com
- Nguyen 136o Trung
cuongnc.it659@gmail.com
- Nguyen Chi CuOng.
* @description: Script m6 ta ye Singleton Design pattern.
Trang 11
*/
class Teacher
{
private $_name;
static $ number of instances = 0;
public function construct()
{
$this-> name = 'Nguyen Bao Trung';
self::$numberofinstances ++;
echo , st, gido vien:'. self::$ number of instances.
1 ';
}
public function TakeAttendance($studentName)
{
echo $studentName. 'co mdt.';
1
}
class Student
private $ name;
private $_teacher;
public function ...(d0 dAi tei thieu ld 3); neu khong vugt
qua dugc nhang 18i nay thi se thong bAo 16i: Ten dAng nhAp khong
dugc de trOng ho4c Ten deng nh*p phai nhieu han 3 ky tu.
- Ta co cac luat sau:
not_empty No Tra ye FALSE neuthutjc tinh rung.
matches Yes Tni ye FALSE neu thuOc tinh kitting
kh6p y6i tham mti truyen yea
matches[password]
is_unique Yes Tni yi FALSE neu dwec tinh da ton tai
tong bing yeti ten twang duqc chi dinh.
is_unique[tbLusettlimum4
min_length Yes Tr* ye FALSE nen thuijc tinh co dO dii
ngin hunt tham s6 tmyen vac).
min_length[3]
max_length Yes Tni ye FALSE neu thuOc tinh co dO dM
dal hen tham s6 truyen vita
maxiength[l 0]
exact_length Yes Tni ye TRUE nett tituOc tinh c6 de del exact_kngh[5]
Trang 36
, - ....
. r
VI
chinh the bang tham so truyen vio.
greater_than Yes Tra ye FALSE neu thutjc tinh nhe hen
tham so truyen trio hoes kh8ng phiti
kieu se (numeric)
greater than[3]
alpha No Tri ye TRUE neu thuijc tinh chi chira
cic chit cai (alphabet).
alpha_numeric No Tra ya TRUE neu thutjc tinh chi chira
de chit chi (alphabet) hooc de chit so
(numeric).
valid_email No Tra ye FALSE neu thuoc tinh khong co
Bang II met email.
numeric No Tra ye FALSE neu thutjc tinh khong
phai la so.
3.7.5. Thu. Wen Session
Thu vien nay hi; trq Chung ta thao tic yeti phien lam viec (session).
- Mtkin ggi thu vien session, ta sir dung down code sau:
$this->load->library('session');
- Ta co the ham ho trg sau:
+ Them du lieu vao session: $this->session->set_userdata ( ) . Vi
$account = array(
`id' => 1,
`username' => 'admin'
);
$this->session->setuserdata('accounts, $account);
+ Duyet session: $this->session->all_userdata 0 .
+ Xod session: $this->session->unset userdata ( ) . VI du:
$this->session->unset userdata('account');
+ 1-114 session: $this->session->sessdestroy .
3.7.6. Thu Wen User control
Thu vien nay he trg chi:mg ta trong viec xac nhan (authenication) va pha'n quy'en
ngtrai sir dung trong quart tri he th6ng.
- Muen ggi thu vien user control, ta sir dung doan code sau:
$this->load->library(`user_control');
- Ta có cac ham 116 trg sau:
Trang 37
+ Dang nhap: login ( ) . Vi du:
$this->user control->login('username', 'password');
+ Ding xuAt: logo ut(). Vi du:
$this->user control->logout();
+ Kiem tra xem co quyen gi: haspermission(). Vi du:
$this->user control->haspermission('modify', 'backend/report');
3.8. Cic Helper
3.8.1. uus helper
Tap tin nay china cac ham ginp chung ta thao tac veri kieu dir lieu Text WA ma
utf-8.
- Mu& gqi helper utf-8, ta sir dung (loan code sau:
$this->load->helper('utf8');
- Ta c‘i cac ham h8 trg sau:
+ utf8_strleno: tra ve de dii Goa chu8i mA utf-8. Vi du:
$string = 1 M6m nay, ted di hoc !';
$len = utf8_strlen($str);
echo $len;
//OUTPUT
21
+ utfEstrpos(): tra ve vi tri coa chu8i can tim hoac tra ve sai (kieu logic) nen
chutii can kiem tra khong nam trong chu8i yeu eau. Vi du:
$mystring = 'abc';
$findme = 'a';
$pos = strpos($mystring, $findme);
if ($pos === false)
{
echo "Chu6i '$findme' kh6ng nam trong chuOi '$mystring'";
}
else
echo "Chu6i '$findme'
trong chuOi '$mystring'";
echo " o vi tri $pos";
ducc tim thAy
//OUTPUT
Trang 38
Chu& a nAm trong chu8i abc 6 vi tri 0.
+ utfli_substr 0: tra vie chuOi con cita mOt chu6i. Vi du:
echo substr('abcdef', 1); // bcdef
echo substr('abcdef', 1, 3); // bcd
echo substr('abcdef', 0, 4); // abcd
echo substr('abcdef', 0, 8); // abcdef
echo substr('abcdef', -1, 1); // f
3.8.2. Text helper
Tap tin nay chtia cac ham gift!) chung ta thao tac veri der HO ki6u Text.
- Mu6n goi helper text, ta sir dung doun code sau:
$this->load->helper(`text');
- Ta ce cac ham h6 trq sau:
+ word limiter(): cat chuiii tir so tir duce quy dinh. Vi du:
1 $string = "Heim nay la mOt ngay dep trOi.";
1$string = wordlimiter($string, 4);
//OUTPUT
Hem nay la mOt _
1
+ chanaderlimiter0: cAt b6 chu6i tir s6 chit trong tir duqc quy dinh.
Vi du:
$string = "Hello everybody !";
$string = characterlimiter($string, 5);
//OUTPUT
Hello
3.8.3. Uhl helper
Tap tin nay chira cac ham giup cluing ta lam vi6c v6ri URLs.
- Mu6n gqi helper url, ta sir dung dour' code sau:
$this->load->helperpurl');
- Ta co cac ham h6 trq sau:
+ base url(): tra ve duang dan chink cua trong web. Vi du:
echo base_url();
//OUTPUT
echo base_url("blog/post/123");
//OUTPUT
Trang 39
+ current_ur10: tra ve dtdmg dAn hian tat ma ngubi dimg dang
truy cap. Vi dp:
echo current url();
//OUTPUT
+ redirect(): chuyn htrang trang web. Vi du:
//Ta dang 6 dueng dAn:
//Ta thuc hiAn chuyen huding ri6u dAng nhAp thAnh cong
if(checkLogin)
{
//Chuyen hu6ng
redirect(baseurl(). 'home');
else
//Thong bAo clang nhAp khong thAnh c6ng
Trang 40
PHAN 4. DAC TA vA fly DUNG CAC cllirc NANG CIJA fl THONG
THU'UNG MAI DItN Tcr
4.1. Phan deb thiet ice
a. Su dO tang quan air chat fling clia Framework
QL: Quan ly
Hinh 4.1. So. clj Usecase Framework
b. Cic tic nhfin tham gia vio hg thong
- %heck hung: LA nhimg ngurri sir dung he th6ng de" mua san pham, xem san
phAm va (lath gia ve san phAm do.
- 1Vhen view La nhang ngtreri ski dung he th6ng quart 1y. Dwa vio Si he
thong de phin quyen cho cac nhem nhan vien cho phu hyp
'Frang 41
4.2. Dec ti cic chirc ning cfia hg &sing
UC nil
. -r....;"
QUAN LI"( NHOM NCO % DUNG, NGUUI
DUNG
DO Phi
top:
Me t*
Chat nang nay cho phep ngtari quan tri co the liet ke, tao mm, chinh
sira, x6a, phan loai, phin quyen cac tai khoin trong he thong. Ngoiti
ra, ngutri quart tri co the tao ra cac nhom nguiri dung va phan quyen
theo timg nhom ngubi dimg.
Tic
°Ilan
,
child' Nhan vien quan tri.
thy Khong co.
e Tin diet t; -
Phai ding nhap vao he thong va phai co quyen thao tac tren chat
nang nay tut khi bit dttu UseCase.
iti utu
diet
kitn
.
nil&
,..-
clifig
Ca so dff lieu se dugc thay d6i.
t i Tinh trang he thong se khong thay din.
. - -
DAC TA c NANG
I
Luling sq:kien chinh/lqch bin chinh
1. Chic nang nay bit dL khi ngtrai quan hi mu6n liet ke, tao men, chinh sira, xoa,
tim kiem, phan loai, phan quyen nhom ngueri dimg va ngueri dung.
2. He thong yeu tau ngueri quirt tri he th6ng xac dirth chirc nang main thqc hien.
- Neu ngueri quan tri he thong chqn "Quin 45 nit& nye& ding" thi luong con
"Quin Ut nhom nguil ding" se duchy thqc thi.
- Neu nguiri quan tri 4 thOng chop "Quin lft ngtroi ding" thi luting con "Qudn
os viol ding" se dtrqc thqc thi.
Chris nang gain It nh6m nguni dung
1. He th6ng hien thi danh sash cac them ngtroi dung tren he thong.
2. Ngured quart tri he thong chon chic nang thqc hien.
v Them mIri nhom dung:
+ He thong yeu au ngueri quan tri nhap thong tin ve nhom ngutri dung m6i.
+ Ngutri quan tri nhip ten therm ngueri dimg va phan quyen chic nang ciut
timg them ngtroi dung:
n Quyen truy cep tren the chic nang.
n Quyen thao tic hen cac clam nang.
+ He thong kiem tra nh6m ngtreri dung tren da din tai hay chum:
Neu tren he thong chug tim tai nhom ngtred sir dung nay thi he thong se them meri
nhom ngtreri ding vao 4 th6ng.
Neu tren 4 thong di ten tai nhOm ngtreri &mg nay thi he thimg se thong bao de
Trang 42
ngucn quan tri nhap lai, ngueri quan tri ci the chin hily bo viec tao meri nhem nguai
ding.
v Cap 'that nhom nprii dung:
+ Ngtrai quan tri chin them an sia tir danh sach them nguii ding va bAm
nut Sim
+ Ngutri quan tri thay 46i bat kjr thong tin nao dugc chi ra trong chirc nang
Them meri thorn ngueri dimg.
+ Nguai quan tri him nut DOng 9.
+ He thcing se cap nhat lai thay 461 cua nhim 40.
v X011 nham nguti ding:
+ Ngueri quan tri chin cac them ngueri dung can xoa tir danh sach nhem
ngueri dung
+ He tiding xac titian lai yeti can x6a cila ngutri quan tri, neu ngtrai quan tr.(
dingy xia thi he thong xac dinh va xoa nhing nhim ngueri dung 46 Ichei
he theing.
Chic nang quin lj nguti ding:
1. Nguii quan tri chin chic nang Quin 19 ngueri ding
2. He thOng hien thi danh sach cac nguiri dimg tren he thOng
3. Ngueri quan tri chin chic nang can thut hien
v Them mai ngutd ding:
He th6ng yeti can. ngtroi quan tri nhap vao th8ng tin ve ngueri dung mil
bao g6m:
+ Ten ngueri ding.
+ Mat khau.
+ Email.
+ Nh6m ngueri ding (chin tir danh sach co sin, neu Ichong thi se la nh6m mac
dinh va khong &tic cap quyen nao) va barn nit "Eking 9"
He th6ng kiem tra ngueri ding da ton tai tren he tilting hay chua
+ Neu ten he thOng chin din tai ngueri ding nay, he thOng se them mai ngueri
ding vao he thing.
+ Neu tren he thOng da ton tat nguiri dung nay thi he thong se thong bao de
ngutri quan tri nhap lai, ngueri quan tri co the chin hay bee viec tao mai
nguari ding.
nhlat nguiri ding:
Ngtrai quail tri thay 461 bat ky th8ng tin nao citric chi ra trong chic nang
Them meri ngueri edung
- Ngueri quan tri bam nit Cap nhat
- He th8ng se cap nhat lai thay doi cua nh6m di.
v Xol nguti ding:
- Nguii quan tri chin nguii dung can xoa tir danh sach ngueri ding va bAm nit
Trang 43
"X6a".
- He thong xic Stan lai you eau x6a dm wren quart trj, nett floral pan tri ding
Si x6a thi he thong xic djnh va xott ngueri dung de khoi he thong.
Luong stIden phit sinhaqch bin phit shah
Neu din tai ngtren dung trong nhom ngtreri dung thi item ngtreri dung d6 khong dugc
x6a.
Cic you CIO d#C bet khic ,.
Trinh duyet phiti hti try javascript.
Giao di011ninh.hua
Cac giao dien nay chi ce muc dich minh hoa de cho ngtreri doc a dang hien lion ve he
thong, giao dien thuc to c6 the dtrqc thay di met phen nao do
Er
to
S Minn ♦
4 Cerxedmoi 5
3 Iamb, ‘ U
1 Mod ‘ U
Giao din quart 0 nhom nguyli dung
Ten nhOm
Qtr,en lily cap
L; backend author
12 backendlbackup
kend/banner
U backend/cate
t E 1.....“ A.,Itens. n•
Calaalkagsbaalit
Cluyen MO tat
kand/author
L. backendibacicup
J backend/tanner
Li backend:care
caathy atctioA
Them mol nhenn ?wail dung
Trang 44
26336:1313
1644.-2013
26142313
4
3
2
Enable
Enable
Enable O
X6a nh6m Aga& dung
Giao then win 117 nguai dung
Ten (fang nhap
Ho va len
Password
Email
37v: i'f.-!54grn3h
NhOm Rau cii darn
Admin •
Trang thai
Them miti nguoi &mg
Trang 45
Trang 46
,
UC #0662 - ?-'.- ;.,.-
QUAN Lt NHA SAN XUAT
D. phirc
tap:
- , M6 to ,
-,
Chfrc nAng nay cho phep nhan vien co the liet ke, them mai, cap
nhat xoa nha sin xuAt trong he thong.
Tic
°hen
h NhAn vien
Pa
,.
Khong co.
A A -- Tien dietticien
-
Phai dang nhap vao he tilting va co quyen thao tac tren chic nang
nay fru& khi bit dAu UseCase.
A Btu eau
Wen
Minh
i
..tp. fig Ca so da lieu se duce thay d6i.
Tinh trang he thong se killing thay dOi.
, .
HAC TA atilt NANG
, .
Luong sv hien chinhilQch bin chink
1. Chat nAng nay bat dAu khi nhan vien muen liet ke, them meri, cap that, x6a nha
sin xuAt ra kh6i he thong
2. He thong yeu au nhan vien chop chat nang ma minh muor n bao gam:
- Neu nhan vien chon "Them mdi nkd sin nit thi luring con "Them mdi nki
sin min" duqc thuc thi.
- NM nhan vien chon "Cpp nktit dui sin mat thi lung con "Clip nk# nkd
sin air dirge thqc thi.
- Neu nhan vien chqn "Xda nba sin air thi luring con "Ma nki sin nab"
duqc num thi.
Chat nang them mai nhi sin xuAt
1. He thong yeu cAu than vien nhap thong tin ye nha sin xuAt bao g6m:
- Ten nha sin xuAt
- Dien thoai
- Dia chi
- Email
2. Sau khi nhan vien nhap thong tin ve nha sin xuAt. He thong se sinh ma duy nhat
img veri mill nha sin xuat, vi nha sin xuat d6 duqc them vao he thong.
Chat fling cap nat nhi sin xmit
1. He thong hien till danh sach cac nha sin xuat.
2. Nhan vien chqn nha sin xuAt ma mink mutn cap that. ,
3. He thong truy xuat va hien thi thong tin ve nha sin xuAt do.
4. Nhan vien cap nhat thong tin ve nha sin xuAt do.
5. Sau khi nhan vien cap nhat, he thong se cap nhat lai thong tin ve nha san xuAt
do.
Chat nang x6a nhi sin xuAt
1. 114 thong hien thi danh sach cac nha sin xuAt.
"Prang 47
2. Nhan vien chgn nhi san xuat ma minh mutOn x6a va chgn x6a nha san xuat.
3. He thtng dim ra de nghj xac nhan x6a nha san xuat.
4. Nhan vien xac then viec x6a nha sin xuat. He thong se x6a nha san xuat 46 ra
lched he thong.
.
Luang Slit h Obit On ech binphilsinh •
CAc yen till ibiet Ithic
Trinh duyet phai ha trg javascript
Gig(' then -Minh hija
Cac giao dien nay chi ce mac dich minh hqa de cho ngu&i dgc de dang hieu ham ve he
thong, giao dien thac to c6 the dugc thay di mOt phi!' nio d6
CIO
r,
10 11013 Us 4499
012151511491 % *
9 NAB Ti19 ipp 01215242 MA Hak, ism Iii 4012fersto :sr- %
*
8 NM H414 Ma .10 S N
NXE1Tho.41se S N
6 We Oa hoc I. plom S N .
4 We) it4 90i 0111111 NA king 100e94 4901 S N
4 NXB ilisnh NM 01:21211 HA M; Meru& 4,411 S K .
)
NIB Tr{
01714143242 Hi t46. xh11.4112m4,1 49m 5 N
2 NX51141 phro I4.1 01215151491 He No 06144441094a41 tom 41 N
1 t0131(rm Ding 01215151491 146 44 kurdange9m44 ram SI N
Ciao dien quern lji nhis san xis&
Ten nha sin nett
t,xs Ka 1 cirr._
Dien ihoni
04337 ,...;_ri
Din di:
Email
. ______
Trang 48
012151511491
Them mot nhis san xulit
10 NliBbo OEN
9 WS 'Ong hop
8 NXB Hot nha -M
E1303 rho. do
6 NM Dye hoc su Oven
5 HABThd gio n
4 1.1e3 thank Mg
3 WS Int
2 106 HQ* ptE) nfr
1PB Kip), D4ng
Islange2.34grAl1 corn
1913grnal can
treynai corn
xt4roesenall cog, -
frunii@gmal
firrelYWgrlati cCt
0111 1 11
Pa tang
01271211
1-4,
01214113242
Ha NO,
01215151431
Na 1.16
91215151491
MOO
XOQ nha san xuat
Trang 49
..',4•UC
,
I I QUAN Lir DANA MVC SAN PHAM
D4 phirc
tap:
. -
M8 .- Chirc nang nay cho phep nhan vien co the liet ke, them, xoa, sera cic danh mac san phim trong he thtmg.
Tic
nhin
/tan vien
kp 'thong co.
Tan dieiaien .
- - , • i•,• --
Phai dang nhap vio he thOng va c6 quy6n thao tac tren chic nang
nay truck khi bit dAti UseCase.
Hi u •
(Wu
44011
- ,
•
" a
r.• •
- cung
Co so aft lieu se dupe thay dia.
r Tinh trang he thong se khong thay dai.
DAC TA CHeC NANG
- . . . ..... .
A •• Luang skr hien chinhilqch bin chin!,
1. Chat nang nay bit Mu khi nhan vien mu6n Iiet ke, them, sera, xoa danh mac
san phAm.
2. He thOng you cAu nhan vien xac djnh chile nang ma hp muton thvc hien.
- Neu nhan vien chitin "Them dank myc" thi luting con "Them dank mpc sin
phim" se dirqc thpc thi.
- Neu nhan vien chip "Siva dank inpc" thi luting con "Sew dank mpc sin
phim" se dupe thpc thi.
- Neu nhan vien chpn "Xda dank myc" thi luting con "Xda dank mpc sin
pkJm" se dupe thpc thi.
Chat fling them danh mpc sin phim
1. He thong yeu cAu nhan vien nhap thong tin ve danh mpc san phAm bao Om:
- Ten danh mpc san phAm.
- TM: ar uu lien.
- Trang that
2. Khi nhan vien cung cap cac you au, he thiing se sinh ra ma danh mac duy nhAt
va danh mac san phAm 86 se duvc them vao he th6ng.
Chat nang sera daub myc sin phim
1. He thting Men Oil danh sach cac danh mac san phAm.
2. Nhan vien chpn danh mpc sin phAm ma mink muOn sin.
3. He thong truy xuat va hien till th8ng tin ve danh mpc san phAm da.
4. Nhan vien sin thong tin ve danh mac san pham 86
5. Sau khi nhan vien sira danh mac san phAm, he thong se cap nhat lai thong tin ve
danh mac san pham d6 trong he thong.
Chat nang xia dank myc sin phim
1. He thong hi'en till danh sach cic danh mpc san phAm.
2. Nhan vien chan danh mpc san pham ma minh mu6n x6a va chin x6a danh mpc.
Trang 50
3. He thong dua ra de nghj xic &fan x6a danh muc .san phim ,
4. Nhan vien xic than viec x6a danh muc sin pham. He thong se x6a danh muc
sin phAm ra ;chat 4 thong.
I en Obit sin 'ck bin phitsbah -
- Neu ten danh muc sin phAm dA ton tat trong he thong thi danh muc sin phAm
de se khong dugc them vao trong 4 thong.
- Neu danh muc sin phAm dang chira sin phAm thi danh muc de
killing duqc x6a.
Cic yeu c u'd4c hitt:kink
Trinh duyet phai he try Javascript.
Giao dienttinnk hna
Cic giao din nay chi ci mitre dich mirth hna de cho ngutri doe a ding hiOu hart ve hO
thong, giao din tlinc to c6 the dugc thay dOi mgt phin nio de
so
6 Di lino Snail 999 Ole-awl #
6 1.19 thull Win al 9% roilhuai % #
4 Svc Mob wt. dm I suc We % #
3 Khoo hoc k9 thuta Min MI 3 lzkoshoc-ky-thuo1 • It
2 N991 ^ 9G So thi 2 ^1203. -^ 9u % #
1 ix 1 KIM door+ Mindli dodcarth % a
Giao dien qutin If , danh myc siin ph/Am
Ten chuyen myc
Sal, g z=s *yza
Trang trial
Hien Ihi •
IVY hr
009
lieu dg khOng dgu
Them mai danh myc san pham
"[rang 51
Trang 52
UC #0604 .,, QUAN Lt SAN PHAM
DO phirc
tap:
,., Mo hi ,
.,,,
Chirc nang nay cho phep nhan vien c6 the het ke, them, cap nhat,
x6a san phAm trong he thong.
Tic
nhin
,
04h
.
Man wen
Ohm Kh8ng ceo.
Tien dikuldin trz,
Phai dang nhap vao he thong va c6 quyen thao tic tren chew nang
nay three khi bat diu UseCase.
Hill
.
dien
hien
inh
ng
Ca se du lieu se duqc thay dOi.
• Tinh trang he thong se khong thay del.
i
DAC TA CHOC NANG
.
Luting sy-kien chinh/Hich bin chinh
1. Chat nang bit du khi nhan vien mutm them, cap nhat, x6a thong tin san phAm.
2. He thong yeu au nhan vien xac djnh chile nang ma hq muon thuc hien.
- NM nhan vien chqn "Them sin phAm" thi luting con "Them sin Sam" se
duqc dux thi.
- Neu nhan vien chqn "gip nh# sin philm" thi luting con "Clip nhis't sin
phim" se duqc thus thi.
- Neu nhan vien chqn "Ma sin phim" thi luting con "Xia sin pham" se duqc
thqc thi.
Choc nang them sin phim
I. He thong yeu au nhan vien nhap thong tin ye san phAm bao gem:
- Ten san phim - Tem tat san pham
- Gia - Nha cung cap
- SO luqng - Loai san phAm
- Hinh anh dai dien - Can san phim lien quan
- Yeu eau van chuyen - Trang thai
- Ngoai ra he thong con c6 chirc nang khuyen mai va ap dung diem thuemg cho
mixii san phim:
+ Discount: Giam gia san phim theo so luting mua, img veri mill nh6m khic
hang.
+ Special: Mirc gia san phann cho timg nhem Ichach hang.
+ Diem thuerng ce 2 phan:
Diem: Diem de mua san phim 46 (mac dinh la 0 — kheing mill:in san phim
duqc mua bang diem thuerng).
Diem thuerng: Diem de thuemg khi khach hang mua san pham nay.
2. Khi nhan vien cung cap cac yeu cAu ve san phim. He thong se sinh ra ma duy
Trang 53
nhAt dm sin pham da va san phfun do se dirgc them vio he thling
Chirc rang cap nhet sin phAm
1. He thOng hien thi danh sich cac sin phAm.
2. Nhan vien chgn san phAm ma minh mutat cap nhat.
3. He thong truy xuAt va hien thi th8ng tin ve san pham da.
4. Nhan vien cap nh#t th6ng tin ve sin phArn do.
5. Sau khi nhan vien e#p nh#t sin phAm, he thOng se cap nhai tai thong tin ve sin
phim dO trong he thong.
Chic ning xen sin phAm
1. He thong hien thi danh sich cac sin phAm.
2. Nhan vien chgn sin phArn ma minh muOn x6a vi chgn xoa sin phAm.
3. He fluting dua ra de nghi xac nh#n xda sin pham.
4. Nhan vien xac rili#n vi'e'c x6a sin phfun. He thOng se xga sin phAm do ra kh6i
he tilting.
,
Luling'si hien phit sinh/Kich bin phitlinti-:
Cic yen au d#c biet khic
Trinh duyet phai hil trg javascript
Giao dien mink hqa
Cac giao dien nay chi c6 mgc dich minh hga de cho nguiri dgc de" ding hieu han ve he
thong, giao dien thgc to c6 the dugc thay &a mOt phan nao de
111111111111111.1111111111111a11111111111.11111111
60 -
31
30
29
2$
27
II
Ar
111
2
1.14 VA Wing OW 14 250 0%10 so Han Ou NA
Mry 1,nh !Meg Saw 19 990 0004 11, 7.
%
#
f4n bow cl, Meg
17 210 0304 107 Hitnlry % It
0,4n thaw cl, log. 6 680 OW IWO Kim tta Ile #
Dst, Ono& tgag 3 990 OM 999 iiii #
Giao dien Tien Ift dm pham
Trang 54
Maas. Igedol Din Ibsen
Mann On NOV Sok Wink tic
inn sin Mk,
Tin san M1 4rn AWN cdt(Vi au . Tin vino— ten asnl
HM ann
Cm. Ss: ow
Tom Si
tAr sir sot
osock ;:
Lem sin onim
I -Oms—lom—sioneM
Sin Osio Stn wan r As:scam:4ml
Yea cAu van cruyen
cn
Trang VIM
Mint
Them mai san phdm
Trang 55
'Wang 56
UC #0005 QUAN Lir NHbM ICHACH HANG
DO Pbfrc
tap:
Chirc nAng nay cho phep nhan vien co the Het id, them, sfra, x6a
nhom khach hang trong he thong.
Tic
:nhiln
,.. .
etirthh Nhan vien
khV Khong co.
Tien . A 8ie0, utien
--. -2 .:
Phil (tang nhap vao he thong va co quyen thao the tren chirc nAng
nay tnrgc khi bat dAu UseCase.
Effiu
(lien
hien
ding
Ca so du lieu se duce thay d61.
Tinh trong he thong se khOng thay dOi.
1D4C Tioutrc NANG
L_ uang sir Weil chthh/Kich ban chfnh
1. Chat nang bit dAu khi nhan vien muOn them, sib., xga nh6m khach hang.
2. He thong you eau nhan vien xic djnh chirc nAng ma hg muon thgc hien.
- Neu nha'n vien chgn "Them nhom Mich hang" thi luting con "Them nhom
khdch hang" se dtrgc thgc thi.
- Neu 'than vien chgn "Cap nhat nhom khdch hang" thi luting con "Cap nhat
nhdm khdch hang" se duce thgc thi.
- Neu nhan vien chgn "Ma them khdch hang" thi luting con "Xda Wham
Mulch hang" se dirge thgc thi.
Them nhom khach hang
1. He thong you cau nhan vien nhap thong tin ve idiom khach hang bao gem:
- Ten nhom khach hang
- MO to
- SO diem tham gia vao nhom
2. Khi nhan vien cung cap cac yeu cau ye nhOm khach hang. He thong se sinh ra
ma duy nhat dm nh6m khach hang va nhom khach hang do se dirge them vao
he thOng.
C#p nkit nhom khich hang
1. He thong hien thi danh sach cac !thorn khach hang.
2. Nhan vien chgn nh6m khach hang ma minh main cap nhat.
3. He th8ng truy xuat va hien thi th8ng tin ve ahem ngutti thing do.
4. Nhan vien situ thong tin ve nhom khach hang do.
5. Sau khi nhan vien cap nhat th6ng tin ye nhom khach hang, he thong se cop that
lai thong tin ye nhom khach hang do trong he th8ng.
X6a nhom khieh hang
L He thong hien thi danh sach cac them khach hang.
Trang 57
2. Nhin vien chip nhom khkh hang ml nth muon x6a va chin x6a nhom Ichich
hing..
3. He th6ng dua ra de nghi xac nhin x6a nh6m khkh hang.
4. NhAn vien xac thin vi'ec x6a nhom khach hang. He thOng se x6a nhom khach
hang d6 ra khoi he thOng.
Luang sy Oen' phi t sinhaCich bin phit Sink
- Neu ten nhom khich hang di tan tqi thi Whom khich hang do khong duqc
them vao he' thong.
- Neu din tai khach hang thuk thorn khich hang 46, thi 'thorn khach hang
kh6ng dtrqc x6a.
Cic yen c n..dic biet khic
Trinh duyet phii hii trq Javascript
-.*
Giao din iunh hqa
thong,
Cac giao din nay chi co rrinc dich minh hqa de cho ngutri dqc a clang hiEu hcrn ve he
giao din thqc to co the duqc thay dOi mot phAn nio 46
se -
5 Mk anli Detail 0 % *
4 Km Cacmg tattm Which I•arg Wan cutup 1600 % X
3 Bong N1,em khldi hang dog 600 % *
2 Bac ?Morn 1.14:, nirg bac Ka • *
1 yang ?Wan illach hing van 1000 % 0
Giao dien qucin 5, nhom khdch hang
Trang 58
Ten nhom khcich hang
MO to
SO Lem Mom QuavaoMwm
1
Them moi nh6m khOch king
X6a nh6m Ichhch hhng
Trang 59
UC #00(6 QUAN Li? 1CHACH HANG
D8' phric
tap:
M8 tat-
Chirc nang nay cho phip Strut vien co the liet ke, them, sera, x6a
khach hang trong he thong.
Tic
nhan
Chinh Nhan vien
P4hy Khong co.
1 Tien diet
. r
Phil ding nhap vio he thiing va c6 guy& thao tic tren chirc ning
nay tnrac khi bit &Au UseCase.
fis
--=-P
dien
Wen
'11111111
i
gag
Ca sec dtt lieu se dugc thay dOi.
rz i
Tinh trang he thong se khong thay dOi.
DAC Ti CHUC NANG
.c-
Luling snien chInh/Kich bin chinh
*4
1. Chirc nang bit dAu khi nhan vien muOn them, sirs, x6a khich hang.
2. He th8ng you cAu nhan via xac dinh chirc nang ma ho muon thvc hien.
- Neu nhan vien chon "Them khdch hang" thi luting con "Them khdch hang"
se dugc thvc thi.
- Neu !than vien chon "C4p nh#t khdch hang" thi luting con "C', nh(it khdch
king" se duqc thvc thi.
- Neu nhan vien chon "Xda khdch hang" thi luting con "Mkt Mulch hang" se
dugc thvc thi.
Chat ning them khich hing
1. He thOng yeu du nhan vien nhOp thong tin ve nh6m khach hang bao gam:
- Ten ding nhalp - SO dien thoai
- HQ ten - Mit khlu
- Email - Trang thai
- NhOm khach hang: Chcon tar danh mvc co truac
Ngoai ra nhfut vien phai cap nhOt them dia chi von chuyen clia khach hang de
lien giao nhOn bao gem:
- Dia chi
- Thanh pho
- Quon huyen
2. Khi nhan vien cung cap cac you cAu Nit khilch hang. He thong se sinh ra ma duy
nhit dm khach hang va khich hang d6 se dugc them vao he tilling.
Chirc ning yip nhit khich hang
1. He thong hien thi danh sach cac khach hang.
2. Nhan vien chon khich hang ma minh muOin calf) nhOt.
3. He thong truy xuat va hien thi thong tin ye khach hang do.
Trang 60
4. Nhan vien cap nhat thong tin ve khach hang de.
5. Sau khi nhan vien cap nhat thong tin ve khach hang, he thong se cap that lai
thong tin ve khach hang d6 trong he tilting.
Chic. rang x6a khich hang .
I. He thong hien thi danh sach cac khach hang.
2. Nhan vien chon khach hang ma minh muon x6a va chi:xi x6a khach hang.
3. He thong dua ra de nghi xac nhan x6a khach hang.
4. Nhan vien the nhan viec x6a khach hang. He thong se xna khach hang de ra
khOi he thong.
Lubng str)den phit sinh/Kich bin phit shah
Neu email vi ten ding nhap da c6 trong he tilting thi he thing se hien thi thong bao 18i
de nhan vien nhap lai.
Cie yen cAu -dtic brit khic
Trinh duyet phai 118 trq Javascript
Giao dit'kminh him
Cac giao dien nay chi cif) time dich mink hoa de cho ngtred due de ding bleu km ve he
thong, giao dien thic to cif) the duqc thay 461 mOt phin nio d6
93 ...
11 ...re Mk mn Sn ey cape asss@nd ca, 1 *
Giao dien span 135 Mach hang
Trang 61
Thong tin Mulch Wong Ofs di 4n churin
Tan Map Whip'. !hada(
Ho I ton: 113Ci %van Hii
Nham Mulch hang: 1 Mk QM • ,
E-Mai: rhataegmad tom
thin Most 10125793849
MO khiu:
Nh#p lai m#t Wu:
Twig UAL i Enabled •
Them mol khlich king
Xoa khcich hirng
Trang 62
UC #000 QUAN Li? DON HANG
DO phirc
tap:
M8 tit . , r.,_
-,
Chirc nang nay cho phop ngutri co the het ke, xem don hang chi tiet,
in don hang, xia dan hang, phin h6i don hang, va girl mail thong
bao cho khach hang trong he thing.
Tic
thin
_
Nhan vien
PuLg Khong co.
A 04 4 Tien lieu Mien Phil Sing nhap vao he th6ng va c6 quyen thao tic tren chat nen
nay trutrc khi bit din UseCase.
1n.
diet
ki§n
*ph
c
A • Co so de lieu se dugc thay dm.
Tinh trang he th6ng se ;thong thay d6i.
DAC TA. CHITC NANG
,
Luling sv Mid n cbinh/Kich bin chinh
1. Chirc neng nay bit du khi ngutri quan 12 mulm liet ke, xem, in va x6a don hang.
2. He th6ng you au ngutri nhan vien xic (firth chirc nang muon thgc hien.
- Neu nhan vien chgn "Xem don hdng" thi luting con "Xem dun hang" se dugc
thgc thi.
- Neu nhan vien chgn "In don hdng" thi luting con "In don hang" se dugc
thgc thi.
- Neu nhan vien chgn "Xda den hdng" thi luting con "%6a dan hang" se dugc
thkrc thi.
- Neu nhan vien chgn "Plidn hik vi den hang" thi luting con "Phan hid dm,
hang" se dugc thgc thi.
- Neu ngtari quail 15, chgn "Mail" thi !ding con "Mai/"se dugc thkrc thi.
Chat Wing xem dun hing
A • X 1. He thong hien thj danh sach cac don hang de co trong he thong.
2. Nhan vien chop hea don ma minh muen xem chi tiet hoc hinh thfrc thanh town
hoc muen cep nhat lich sir dm don hang.
3. He Outing hien thj th6ng tin vie don hang ma nhfin vien vim chgn.
4. Nhan vien xem chi tiet dan hang, hinh thirc thanh town va chgn trang thai mutm
cap that cia don hang trong ljch se don hang.
Trang thai cila dan hang:
+ Cancel: Kh8ng chip nhin dam hang.
+ Pending: Dang xir 1.
+ Complete: Floan thanh.
5. Neu nhan vien chgn cap nhat trang thai ctia dam hang. .
+ Nhan vien quan 1S, cO the gei mail cho khach hang de th8ng bao ve trang
Trang 63
thai dun hang vira cAp nhjt hoc !thong ve chin "Add History" de them
twig thai don hang vao lich sir dun hang
+ Sau khi cAp rihtlt trang thai dm dun hang, heethang se thay dOi trang thai
efts dun hang.
. •
6. Neu than vien chqn them diem tinning cho khach hang (neu co).
+ He thong se cAp nhot diem thutng cho khich hang clang thiri gin mail lining
bao cho khach hang.
Chirc ning x62 dun Ming
1. He thong hien thj dank sach cac dun hang co sin trong he tilting.
2. Nlian-vien chip dun hang mutin x6a
3. He thOng xac nhan Iai you cau muan x6a cita than vien, neu nhan vien clang 9
x6a, he thong se xic dinh va xoa cac thong tin ve don hang da trong he thong.
Choy ning phin hal ve den hing
1. He thOng hien till dank sach cac phin hed ve dun hang.
2. Nhan vien chqn dun hang muan phan hai.
3. He thong truy xuAt va hien nil thong tin ve don hang bao gam chi tiet ve phan
h6i, Ten san phAm, Ly do phan hal va lich sir
4. Sau khi nhan vien chon trang thai va ly do de phan heti cho khach hang, he
thong se giri mail va thong bao cho khach hang hitt.
Lueng Eqr k n phit sinh/Kich bin phoit sink
Cie yen a iitic Wit khic
,
Trinh duyet phai 116 trq Javascript.
`, Gino then mush hut
,?
thong,
Cac giao then nay chi co num dich minh hop de cho ngued dqc de clang hieu hun ve he
giao dien thqc to co the dugs thay &Si mat phin nao do
EMI
38 Ngirs in Bio Mug ircN Si C4.%2013 89.152013 4
5 *
35 MgMn %to itng 4empge S•6 851362013 C9)(8.42313 5 5 *
Ciao ...t; $date
);,
$this->db->where('id', $id);
$this->db->uodatermytable l , $data);
// Produces:
// UPDATE mytable
// SET title = '{$title}', name = '{$name}', date = '{$date}'
// WHERE id = $id
- Cac him clued day cho phep cluing ta thay the cho Ienh DELETE.
$this->db->delete('mytable', array('id' => $id));
// Produces:
// DELETE FROM mytable
// WHERE id = $id
- Ngoai ra, ta co the sir dung Method Chaining.
$this->db->select('title')->from('mytable . )->wherWid',$id) -
>limit(10, 20);
$query = $this->db->qet();
//Produces:
SELECT title FROM mytable WHERE id = '$id' LIMIT 20, 10.
6.1.3. AJAX
a. Dinh nghia
De tai Icy thuat von luon kho khan va khong may thti vi, nhung nhcmg eau
chuy'e'n ve qua trinh phat trien dm AJAX trong khong gian Cmg dung Internet da
phuong tien da tao nen sue hat kho tin xuyen sag nam 2005.
AJAX, viet tat tit Asynchronous JavaScript and XML (JavaScript va XML khong
citing be), la be tong cm cho phep tang tic 40 img dung web bang cash cat nhO du lieu
va chi hien thi nhung gi can thief, thay vi tai di tai lai Man be trang web. AJAX !thong
phai met ding nghe dun le ma la su ket hqp met them ding nghe vii nhau. Trong d6,
HTML va CSS dung vai hien thi dii lieu, mo hinh DOM thrill bay th8ng tin ding, del
tugng XMLHttpRequest trao doi dir lieu kh0ng ding be yeti may chic web, con XML
la dinh clang chit yeu cho chi lieu truy'en. Day du 11 tong nghe san co nhung Javacript
da lip rap Chung lai de thut hien nhung "sir menh" Clang 'chain phut.
Trang 135
Hau het cac cau chuyen ve nguan g6c dm AJAX dame bat (Mu tir khi Microsoft
phat trien cong nghe Remote Scripting vao nam 1998. Tuy nhien, phucmg phap tai
khong thing b0 nOi dung tren mOt trang web da xuAt hien trong thanh t6 IFRAME ciut
Internet Explorer 3 (1996) va thinh t6 LAYER cita Netscape 4.0 am 1997. KM gieri
thieu Internet Explorer 4.0, Microsoft da sir ding mo hinh d6i ttrgng tai lieu DOM
khac biet. Den nam 2000, Netscape hoan tan (Midi mat thi throng trinh duyet vao tay
hang phAn mem dm Bill Gates va thinh to LAYER cling khong con dtrgc cac chuyen
gia phat trien web chti y teri.
Phai vai nam sau, AJAX moi lai I8i keo &me so quan tam cita gieri cong nghe va
trey thanh cong co cai tien giao dien ngutri thing cho Ong dgng web. Thuat ngil nay
duct nhac ten trong bai viet not tieng coa Jesse James Garrett tren trang Adaptive
Path (2/2005). TO d6, AJAX trey thanh trung tam trong mqi au chuyen lien quart den
the he Web 2.0.
b. Horst ding cast AJAX
sr Men
NT Noel •
http( s) trans
MN. OMB
OMSK Wks. ,
__s INICV Maws
server-side systens
browser debt
us riot
smeslertem
4 Ifall+dala
esipbe
A
httr(s) trans t
auarr
V
gab mite PIK
4101Ses.
Set Sr MIS
server-side systems
t
Hinh 6.1. Ong dyng web tru)4n thing (trch) va ling dyng AJAX.
TO lau, mqi ngutri da Wang ttrqng (mg dtmg may tinh r6i se dtrqc Itru va chay
hoan toan tren web thay vi nlm b6 butte trong 6 cling. Du vay, viers cant' d6 yin chua
the xay ra do Ong citing web bi han the beri nguyen 1y rang tat ca cac thao tic phai
duqc thgc hien thong qua HTTP (HyperText Transfer Protocol - Giao thirc truyen tai
sieu van ban). Nhting hoot dOng cua ngtrtri sir dong tren trang web se too ra mOt yeu
au HTTP tel may chit. May chit thgc hien melt s6 khau xir ly nhu lay lai du lieu, tinh
toan, krem tra su hip le cita thong tin, sira d6i b0 nher, sau do giri lai mot trang HTML
hoan chinh tel may khach. Ve mat ky that, phuong phap nay nghe co ye hip ly
nhung ding kha bAt tien va mat theri gian, beri khi may chit dang thgc hien vai fro dm
no thi ngtreri dung se lam gi? TAt nhien la cher dqi.
DE khac phoc han the tren, cac chuyen gia phat then gidi thieu hinh thirc trung
gian - co the xis 19 AJAX - gifta may khach va may chit. Dieu nay gidng nhu viec tang
Trang 136
Nu w* appiallon model (asyndwonots)
"'a ----- -
them met 16p gift cho *rig dung de giam qua trinh "di lar dm thong tin va giant theri
gian phan (mg. Thay vi tai lai (refresh) toll .' be met trang, no chi nap nhttng thong tin
ducc thay doi, con gift nguyen cac phin Ichic. Vi the, khi duyet met trang ho try AJAX,
ngtari sir dung !thong bao gib nhin thAy met cfra so trang (blank) va bieu tircmg dling her
cat - dAu hien cho thAy may cha dang awe hien nhiem vv. Vi du, trong met website anh,
vOi (mg dung truyen thong, toan be trang chira cac anh se phai mer lai to dAu neu co met
thay doi nao 46 tren trang. Con khi ap dung AJAX, DHTML chi thay the doan fieu de
va phAn vua chinh sera, do vA'y tao nen cac giao dich Iron tru, nhanh thong.
chest vit applicsidat model Nedirau•)
twit.
0.4•1n11
*Wet
Hinh 6.2. Twang tcic tiling bQ trong zing Ming web truAn thong va di b6 trong zing
dung AJAX
c. Nhuvc diem cull AJAX
AJAX c6 the g6p phan tao nen met the 114 mOi cho (mg dung web (nhu colr.org
hay backpackit.com). Tuy nhien, no cling la met tong nghe "nguy hiem" khi gay ra
khong it rat rei ve giao then ngtrai dung. Ching hart, phim "Back" (trer lai trang truerc)
dirge danh gia cao trong giao dien website chuAn. Dang tiec, chime nAng nay khong
hog Ong An khop vOi Javascript va mci ngueri khong the tim lai nei dung fru& d6 khi
bam phim Back. Beri vay, chi met so xuAt nhe la chi lieu tren hang da bi thay dei vi
kh6 c6 the kh8i phut lai ducrc. Day la met trong nhang nguyen nhan chinh khien nhieu
ngtreri khong zing he img dung Javascript.
Ben canh 46, moi ngutri khong the km lai dia chi web vio thu mix Favorite
(Bookmark) dE xem lai ve sau. Do ap dung lerp trung gian de giao dich, cac img dung
Trang 137
AJAX kh8ng ca met dia chi c6 dinh cho timg nOi dung. Khiem khuyet nay lim cho
AJAX de "mat diem" tong mitt ngutri dung.
d. Vi dg
Ta se di vao met vi du cu the a ca cai nhin chi tiet han ve AJAX.
Ta se xiy dung met met chirc nAng dang ky ngutri dimg g6m cac thong tin sau:
ten dAng nhip; mat khiu; email yeti cac rang buk nhu sau:
- Email phai dimg dinh dang.
- Mat khAu phai nhieu han 3 Icy qr.
- Ten dAng nhip kh8ng dirk tang voi tir "admin".
Sau khi submit form, neu khong thoa man cac dieu kien tren thi hien thi
dm% cac 8 input twang img ma se kh6ng phai load lai trang dAng ky. Ta se sir dung
jQueryAJAX de thut hien ding vik tren.
- Form dAng register.php.
BANG Kt
Ten ding nbigx
Email
mit ithir
Hinh 6.3. AJAX — Form dang kik
- Ta nhop cac gia tri vao cac 6 input twang (mg. Sau khi nhip xong vi in
Register, chimg ta se sir dung ky thuit AJAX de chuyen cac du lieu den file
process.php de xir ly , neu khong hqp le ta se hien thi 16i.
Trang 138
BANG Kt
Tett .41tog *OE__ _
admin
Ten ding nhop dit taro tat !
Eras&
abe
Email sai cnh dang !
Mtn,
•
Nat Idalu phai nlaclu hon 3 kt tv
P1Mr=l1
Hinh 6.4. AJAX — Hien thi
- Ta on clop code AJAX nhu sau:
//Demo AJAX by Nguyen BAo Trung
<!--
$(document).ready(function()(
Winput[name=sub]').click(function()(
$.ajax({
url: 'process.php',
type: 'POST',
data:'username= .
+Winput[name=username]').val() '&email='
Winput[name=email]').val() '&password='
Winput[name=password]').val(),
success: function(result)(
var strJSON = $.parseJSON(result);
$("#username").empty();
$("#password").empty();
$("#email").empty();
if(strJSON['username'])
$(4username").html(strJSONflusernamern;
1
if(strJSON['password'])
$(4password").html(strJSONflpassword'));
if(strJSON['email'])
Trang 139
$ ( "#email " ).html(strJSON flemail' I );
}
1);
return false;
I ) ;
1) ;
//-->
6.1.4. Javascript
a. Dinh nghla
Javascript IA met ngOn nga th6ng djch, chucmg trinh nguton cilia no duct Ethan
hoac tich hqp vao tap tin HTML. Khi trang web duqc tai trong trinh duyet hi)" trq
javascript, trinh duyet se thong dich vi [hue hien the l'enh Javascipt.
b. Cich sir dyng
CO 2 each de nhang Javascript vao trong tap tin HTML.
- Cach 1: vitt chuong trinh Javascript true tiep trong file HTML.
//Cac lOnh Javascript
- Cach 2: sir dung tap tin javascript ben ngoai.
Cling gi6ng nhu CSS ngoai tuyen, chting ta cling co the nhimg Javascript vao tap
tin HTML bang each lien ket den met tap tin ben ngoai, day cling la phucrng thuc duqc
sir dung nhieu nhat. Veri phucmg phap nay, cac lenh Javascrip se duqc viet trong mot
file rieng biet c6 phan ma r'6ng la.js.
Vi du ta c6 tap tin my.js. De nhang tap tin my.js vao to tin HTML ta sir clung
doan ma sau:
<script type="javascript" src="my.js"
type="text/javascript">
c. VI dy
Ta se sir dung Javascript de hien thj thong bao nhac nguai dimg c6 chic chin
muen xod san phatn hay kh8ng.
$C.delete').click(functionuf
if( ! confirm('Ban ca chAc chSn mulin xoA san phAm nay hay khong
?'))
{
return false;
}
Trang 140
6.1.5. Payment
Trong TMDT, co hai hinh thfrc thanh Man:
Thanh toan ngoai tuyen (off-line payment)
+ Phien giao djch gifra ngu?ri sir (long va nha cung cap co the din ra ma
khong can den so tham gia cim ngiin hang. Nei each khlic, nha cung cap to
kiem tra tinh hqp le cfm dOng tien ma khong can den so trq giup cita ben
thir ba.
Thanh toan Uvc tuyen (online payment)
+ Trong moi lan giao djch, nhi cung cap se yeu ciu ngfin hang kiem tra tinh
hqp le dm dOng tien do ngtari dung chuyen truerc khi chap nhiln thanh
Vi viy, he thong thanh toan trim tuyen c6 kha nang kiem tra dtrgc tinh tin
ciy cua dOng tien.
+ Thanh toan tree tuyen thich hqp veri nhang giao djch c6 gia tri lern. Veri he
thong nay, qui trinh thanh town va girl tien vao ngan hang se tich biet nhau
trong mOi lan giao djch. Do viy, chi phi ve then gian ding nhu lien bac se
tim kern hon.
Trong Framework dm chimg ta da tich hqp sin 2 off-line payment va 1 online
payment la Paypal. Ta se di co the vio each tich hqp them cac online payment cling
nhu tim hieu ve ca the cua cting thanh toan Paypal trong moc ke tiep.
a. Throng din tich hqp them cAng thanh tofu vio Framework
Khi c6 trong tay down ma tich hqp cOng thanh toan theo each thong Hurting, ta se
tien hanh viec lip trinh theo dung eau true Framework nhu sau. Ta lay vi du cOng
thanh toan can tich hqp la Paypal
+ Root - Thu now gee
+ application
+ models
+ frontend/pp_model
- Noi a xir IS,
(validate) cac tham
s6 cim cling thanh
toan.
+ views i
+ backend/payment/pp.php
- G iao dien de
config c6ng thanh
toan Paypal.
Trang 141
+ frontend/payment/pp.php
- Giao dien de hien
thi the der lieu cull
khach hang ci-mg
nhu don hang.
+ system
+ libraries
+ Payment_pp.php
- Thu vien chira efic
ham de hien thi
giao dien, config
the option efra
thing thanh toan,
kiem tra firth hop le
dm cOng thanh
toan ...
Trong viec tich hqp cOng thanh toan vac, Framework dm chung to thi file quan
tong nhat la systemilibrar ies/Payment_tenviettatcongthatoan.php.
- System/libraries/Payment_pp.php.
..,
-1. ,...4 i .
s . ..la i
Render_payment Phuong thfrc nay se hien thi da lieu cfut ngtreri nh#n, ngueri thanh toll], de
lieu hang hoa sau 46 se day clic du lieu nay ra View tong file:
frontend/payment/pp.php.
Callback Phuang thirc nay se kiem tra tinh chinh Joie der lieu tra ye ctia Paypal a sau
46 xic nh#n xem don hang ce hqp 14 hay Icheing ?
Confirm Sau khi xic nh#n don hang hqp 14 thi phuong tithe nay se that hien viec c$p
nh#t trang thii boa don.
Edit Phuang thfrc nay se cip nhot the config ctia cOng thanh Wan.
b. Ca the cis Paypal
Ta c6 cac buoy sau day de thoc hien viec thanh toan bang citing thanh toan Paypal.
Biz& 1:
+ Sau khi quy& dinh ehon mua san pharn/dich vu tai mot website c6 tich hop
ding thanh toan trot tuyEn PayPal va chap nhan thanh toan bang tai khoan
PayPal cua mirth, ban se duqc diEu huang vE trang (tang nhap PayPal.
+ Nhap dia chi email va password sir dung cho tai khoan PayPal ctla ban; bAm
Login de dang nhap vao tai khoan.
Trang 142
+ Trong buck nay, he thOng se sinh ra met ma (secure code) vi km trong Ca
dft lieu.
Buck 2:
+ Kiem tra gib ca (Price), so ltrong (Quantity), tong tien (Total) ciut giao dich
bon can thanh total sau khi dang nhip vito PayPal. Neu mqi thong tin dell
chinh xac, chqn Continue a tiep tuc quit trinh thanh tom hing.
- Buck 3:
+ Sau khi An Continue, Paypal se dieu hut:mg bin ve thong qua tham so
return url ma chung
ta di config a file
systemnibraries /Payment_pp . php 6 tren.
+ H .O thong se kiem tra de lieu tra ye thong qua ma secure code 6 ten, neu
chInh xac thi se tien himh cap nhat hob don len thanh Pending (dang xfr 15r).
Sau khi chit so hut cua tai khoin kiem tra don hang trong If0 thOng va tai khoin ctia
minh trong Paypal, nett chinh xac thi se clap nhit Wong thai hob don thinh Complete
(thanh cong) va ties hAnh chuyen hang cho khach hang.
6.2. Rio mit cho ung dyng website
Ngay nay, bao mat website IA melt van de thi quan trong dei von ck nhA phat
tries web. Tat ca ck (mg dung web deu c6 the a ding 1)1 tit' I cong bang ck each khk
nhau chin ban nhu cross site scripting (gib ma° cbc you eau) XSS va cross site
request forgery (tAn cong sir dung guy& chimg thuc cua ngtrtri quart hi website)
CSRF. Ngoli ra met each Mn cong elk biet nguy hiem khbc lb SQL injection. Nhung
cluing ta c6 the gibm thieu toi da ck cbch ten cong vi nang cao duqc tinh bao mat cho
website coa chfing ta neu chimg ta hieu ve ne va tim each gibi quyet chung. Sau day
chimg ta se tim hieu ye met so cach thfrc tan cling va !chic phuc chimg.
6.2.1. HTML injection vb Cross site scripting
Cross-Site Scripting (XSS) lit met trong nhang kg thu4t Mn cling ph6 bien nhat
hien nay, dOng thai cling IA met trong nhing van de bao mat toi quan trong dOi veri cbc
nhb phat tries web va ca nhang ngutri sir dung website. BAt k5r met website nio cho
phep ngutri sir dung dang th8ng tin ma khong c6 sit kitm tra chit the cic doan ma
nguy hiem thi deu dr the tiem An cbc loi XSS.
Cross-Site Scripting hay con duqc goi tit IA XSS (thay vi pi tat IA CSS de tranh
nhAm Ian voi CSS — Cascading Style Sheet dm HTML) IA met kg thuo't tan cong bang
each chen vio cbc website dOng (ASP, PEW, JSP ...) nhang the HTML hay nhCmg
doan ma script nguy hiem c6 the gay nguy hal cho nhUng ngutri sir dung khk. Trong
de, nhang doan ma nguy hiem duqc chen vim hau het duqc viet bang ck Client — Site
Script nhu JavaScript, Jscript, DHTML va cling co the IA cac the HTML. Kg thu'ot ten
Trang 143
Ong XSS da nhanh cheng tra thanh mOt trong nhung 16i ph6 bien nhit cua Web
Applications va mid de doa cua chiing deli vat nguai sir dung ngiy cang Ian. Ngubi
chien thing trong cuOc thi eWeek OpenHack 2012 la ngutri da tim ra 2 XSS mai. Phiti
chang mit nguy hiem to XSS ngay can duqc m9i ngtrtri chit y hot ?
6.2.1.1 Hogt &Ong cua XSS
Ve co ban XSS ding nhu SQL Injection hay Source Injection, n6 cling la cac yeu
can request duqc giri tir cac may client toi server nhlm chen vao do cac thong tin vtrqt
qua lam kiem xoat dm server. NO c6 the la mOt request duqc giri tir cac form da lieu
hoc cling co the do chi li cac URL nhu:
i was
(found !');
Vi eat co the trinh duyet cua ban se hien len mOt thong bdo "XSS was found !".
Cac doan ma trong the script khong he bi giai han bai chang hoan town co the thay the
bing mOt file ngutin tren mOt server khdc th8ng qua thuOc tinh src da the script. Cling
chinh vi le da ma chimg to chum the luting het duqc do nguy hiem cfia cac loi XSS.
Nhung neu nhu cac thuot tan cong khac co the lam thay doi duqc da lieu
nguan cua web server (ma ngtain, eau true, co s6 dli lieu) thi XSS chi gay Mn hai d6i
vai website 6 phia client ma nan than trqc tiep la nhCmg ngutri khach duyet site do.
Tit nhien doi khi cac hacker ding sir dung ki thuat nay de deface cac website nhung
d6 vin chi tin cong vao be mat cua website. That Nifty, XSS 11 nhung Client-Side
Script, nhang doan ma nay se chi chay b6i trinh duyet phia client do d6 XSS khong
lam anh huting den he th6ng website nim tat server. Mpc tieu tan cong cua XSS
khong ai !chic chinh la nh&ng ngtrai sir dung !chic cua website, khi ho vo tinh vao cac
trang co china cac doan ma nguy hiem do cac hacker de lai h9 c6 the bi chuyen tai cac
website khk, cldt lai homepage, hay nang hon la mat mat khau, mat cookie tham chi
may tinh ban co the se bi di dc loai virus, backdoor, worm ...
6.2.1.2 Gifu phcip
Nhu da de cap 6 tren, mOt tin cong XSS chi thqc hien duqc khi gui mOt trang
web cho trinh duyet web dm nan than c6 ken .' theo ma script dOc cua ke tan cong. Vi
vay nhCmg nguai phat trien web c6 the bao 4 website cua minh kh6i bi Ica dung thong
qua nhung tan cong XSS nay, dam bao nhang trang phit sinh dOng kh8ng china cac tag
cua script bing each 19c va xac nhan hqp ly cac dli lieu dau vao tir phia ngueri dung
hodc ma hea (endcoding) va 19c dc gid tri xuat cho ngueri dung. Neu nhu ban dang sir
dung PHP thi co the tan dung mOt so ham c6 sin cua PHP nhu htmlspecialchars,
htmlenti ties de ma hod Ur d'Ong (enconding) hoc st rip_tags nen khong muon co
HTML trong nOi dung.
Trang 144
6.2.2. SQL Injection
6.2.2.1 SQL Injection lit gi ?
Khi trien khai cac img dung web tren Internet, nhieu nguari van nghi rang viec
dam bao an town, bao mat nhitm giam thieu t6i da kha nang bi tar' t ding tir cac tin tic
chi dun thuan tip trung vao cac van de nhu chip he dieu hanh, he quart tri cu so du
lieu, img dung nao cho may chit Web,... ma quen mat rang ngay ca ban than img dung
chay tren 46 cling tiem an mOt 16 hong bao mil rat Tern. Mqt trong se) cac 16 hOng nay,
d6 la SQL injection. Trong than gian vita qua, kW:mg it website tai Viet Nam da bi tan
ding vi da s6 deu la 18i SQL injection. Valy SQL injection la gi ?
SQL injection la min kyr thuat cho phep nhemg ke tan ding lqi dung 16 Wing trong
viec kiem tra du lieu nhap trong cac Ung dung web va cac thong bao 16i dm he quart tri
cu sir du lieu de tiem vao va thi hanh cac au lenh SQL bit hop phip (khong duqc
nguai phat trien img dung !Ong three). Hau qua coa no rat tai hai vi no cho phep
nhcmg Ice tan cling co the thoc hien thao tic xoa, hieu chinh, ... do co town quyen tren
cc sir dir lieu cern img dung, thann chi server ma img dung 46 dang chay.
L6i nay thutmg xay ra tren cac img dung web co du lieu duerc quan 19 bang cac
he quan tri cu so du lieu nhu SQL Server, MySQL, Oracle, DB2, Sysbase
6.2.2.2 Cgc dung tiro tong SQL Injection
Co b6n clang thong darting bao g6m: vuqt qua kiem tra luc dang nhap, sir dung
cau lenh SELECT, sir dung tau lenh INSERT, sir dung cac stored - procedures.
De biet cac website co bi tan c8ng SQL injection hay khong, ta sir dung cac soft
hok the c8ng et; tim kiem 161.
a. Mpg tan cling kiem tra lie ding nh$p
Veri dung tan cling nay, tin tic co the de' clang vuqt qua cac trang (Icing nhap niter
vao 16i khi dung the eau lenh SQL thao tic tren cu sir du lieu cita img dung web.
Xet mOt vi du dien hinh, thong thuerng de cho phep ngueri dung truy cap vao
cac trang web duqc bio mot, he tilting thuong xay dung trang dang nhap de yeu a'u
ngtred dung nhap th8ng tin ve ten dang nh#p hok mat khan. Sau khi ngueri dung nh#p
thong tin vac', he thong se kiem tra ten (tang nhap va mat khau co hop le hay 'thong
quyet Binh cho phep hay tir choi thut hien ti'ep. Trong truing hop nay, nguoi ta ce
the ding hai trang, mOt trang HTML de' hien thi form nhap lieu va mOt trang PHP
(hthc ASP, JSP ...) dimg de xir ly th8ng tin nhap tir phia ngtrai dung.
Neu ta viet code theo each thong thuemg 6 trang xir 19 thong tin thi dtrerng nhu
Trang 145
khong china bat k9 met 18 hOng bao mat nit). Ngueri dung kh8ng the clang nhap neu
ten Clang nhap host mat khAu kh8ng hqp le. Tuy nhien, QS the doan ma nay khong
thuc str an toan va la tien de cho met lei SQL injection. Dac biet, chi; so her (neu c6)
nam o chE nhap lieu vio tir ngtrtri dung de xay dung true tiep nen cau truy Van SQL.
Chinh dieu nay cho phep nhtmg ke tan cong co the dieu khien cau truy vAn se &gm
thuc hien. Vi du, neu ngueri dung nhap chugi sau vao ca trong 2 o nhap lieu
username/password cua trang HTML la: OR " = " Lac nay cau truy vAn se
duqc thud hien nhu sau:
SELECT * FROM T USERS WHERE USR NAME - " OR "=" AND
USR PASSWORD= " OR "="
Cau truy van nay la hqp le va se tri ye tit ca da lieu cita bang T_USERS va doan
ma fiep theo x6 19 ngtr6i dung ding nhap bAt hqp phap nay nhu met ngurn dung
hqp le.
b. Dung tin cong sir dung cau II§nh SELECT
Dung tan cong nay phi= tap hon. De thuc hien duce kieu tan cong nay, ke tat'
cong phai c6 kith nang hieu va lqi dung the so her trong the thong bao lei tin he thOng
de d6 tim the diem yeu kheri dAu cho viec tacit cong. Xdt met vi du rat thuong gap trong
the website ve tin tiro. Thong thu?mg, se c6 met trang nhan ID cila tin can hien thj roi
sau d6 truy vAn not dung dm tin c6 ID nay.
Vi du, to co . h4d nguan cho chile
nang nay thubrng dtrqc viet kha dun gian nhu sau:
//Lay ma tin tirc bang phuong thirc $_GET
(int)$news id = $ GET('id');
//Xai dung cau truy van SELECT v6i $news_id = 123
$strSQL = "SELECT * FROM T NEWS WHERE news id = $news id";
//Thuc hiOn truy van
$query = mysqlquery($strSQL);
//Tra ve )(At qua
return mysql_fetch_array($query);
Trong cac tinh huong thong thu&ng, doan ma nay hien thi nOi dung dm tin co
ID thing veri ID da chi dinh va halt nhu khong thAy co 18i. Tuy nhien, gi6ng nhu vi
du clang nhap 6 tnrac, doan ma nay de 10 so her cho met lei SQL injection khac. Ke
tin cong co the thay the met ID hqp 10 bang each gin ID cho met gia tri Ichic, va tir
do, kheri dau cho mot cuec tan cong bat hqp phap, vi du nth": 0' OR 1 = 1, tic la
URL bay giar se tra thanh: http: //domain/news .php?id=0' or 1 = 1. Cali truy
Trang 146
van SQL kw nay se tra ve het tit ca cat tin tire tir bang T_NEWS vi no se thut hien cau
truy yin:
$strSQL = "SELECT * FROM TNEWS WHERE news id = '0' OR 1 = 1'";
lit nhien trong vi du not ten, throng nhu khong co gi nguy hiem, nhung hay this.,
Wang Wang Ice tin cong co the xoa Wan be co . set dif lieu bing cach then vao cat doan
lenh nguy hiem nhu DROP TABLE. Vi do nhu:
DROP TABLE T AUTHORS
c. Ding tin cong sir dyng
Itinh INSERT
Thong thuang the (mg dung web cho phop ngu?ri dung clang ki met tai khoan de
tham gia. Clare Ming khong the thieu la sau khi dang ki thanh tong, ngtred dung co the
xem vi hieu chinh thong tin cim mirth. SQL injection cc!, the dirge dimg khi he thing
khong kiem tra tinh hop le dm thong tin nhap vao.
Vi du, to co ?loan ma that hien viec INSERT dfr lieu vao nhu sau:
$strSQL = INSERT INTO TABLE NAME VALUES ('Value One', 'Value
Two', 'Value Three');
$query = mysql_query($strSQL);
Neu that thi ma lenh ten thi chic chin ban di mac 16i SQL injection, bed vi nen
Ice tan tong nhap vao truing this nhat: + (SELECT TOP 1 FieldName FROM
TableName) + ' Lac nay truy yin so INSERT INTO TableName VALUES ( " +
(SELECT TOP 1 FieldName FROM TableName) + ", 'abc', 'def'). !Chide,
hit thtrc hien lenh INSERT Mtn thi xem nhu ban da you cAu that hien them met tau
lenh nita do la: SELECT TOP 1 FieldName FROM TableName.
6.2.2.3 Gicii phcip phong thong SQL Injection
Diem yeu SQL Injection bit ngulin tir viec xis 15, &I lieu tir nguiri Ming khong tot,
do do viec xay dtmg ma nguen dim bao an ninh la cot 16i cim viec phOng chting SQL
Injection. MOt vii giai phap sau day co the giam thieu fel da tan cong SQL Injection.
a. Mo hinh danh sach cho ph6p — Whitelist
M8 hinh whitelist liet ke danh sach nhUng gia hi input nao duct cho phep, chinh
vi the khi xay dung no din hal ngutri phat trien phai hieu re logic nghiep vu dm *rig
(long ducm thy clang. MOt se dic diem dm input ma mo hinh nay chi, y ton nhu kieu
du lieu, do Mb, mien da lieu (del veri input kieu s6) hoac met se dinh clang chuin khic.
Vi dy, yea clang met usemame thueng dung cho met database cong ty, thi met mitt
hop le se la cat kY to gi&i han trong c6 15 kj, ttr, chi china chic cai va con se. Cac dieu
kien nay pho thuOc nhi'eu vao logic nghiep vu va thoi thuo'n von ngutri sir dung.
Trang 147
Ban e6 the sir dung cac ham co sin cita NIP de thut hien viec kiEm tra der lieu
tren nhu strlen, is_numeric... hok sir dung the ham bieu thirc chinh quy
(regular expression).
b. M8 hinh dank sick cam — Blacklist
Mo hinh nay xay dung nen cac mau input duqc cho 11 nguy hiem vi se khong
chAp nhan nhang matt nay. Mo hinh nay kern hieu qua hcm m8 hinh whitelist do s6
lugng kha ding xay ra cua met input xilu rat lern va khet cop nhAt cac mau nay.
Tuy nhien uu diem dm phuang phip nay so yea phuang phip whitelist IA viec
xay dung don gian hon. Neu sir dung phuang phip nay thl ta can phai ma hod output
de giam thieu nguy co rd ri thong tin ve nheng mau ma m8 hinh nay b6 set.
MOt dieu chit y hap &Si yeti viec sir dung me hinh blacklist vi whitelist, d6 la cac
mau nay nen dirge xir IS,
6 phia client (thong qua javascript, jquery...). Bai trong met
phien lam viec phirc tap, dieu can tranh nhAt cho ngu&i dung IA tat ca mqi thong tin da
xir IS1 bi huS,, phai lim lai tir dAu do phat hien c6 dieu bit On trong input. Tuy da xir 1S,
6 client, nhung dieu d6 khong dam bao cac input de da an toan, chting ta van can phai
thgc hien lam sach da lieu 6 cac btrerc tiep theo.
6.2.3. Cross — site Request Forgery
Cross — site Request Forgery (CSRF) la met kg, thuat tan cong bang each sir dung
guy& chimg thue coa ngutri quan tri website, hay neoi each khite la lgri dung quyEn cua
ngtrtri quan trj website de thgc thi nhOng tic vu ma mirth mong mu6n (ngutri quart tri
se khong he biet mirth hi lqi dung).
frau qua dm no kh6 co the biet dugc la nang hay nhg. Va ngtrtri thge hien tan
cong nay phii la ngutri am hieu source code ctia img dung web muOn tan cong , c6 the
la ngu&i lam ra n6 hay met CMS nao do hoc source code bi le, bin vi neu main tan
cong theo each thirc nay thi ngutri tan cong phai nam dirge duemg link trong trang
quan
6.2.3.1 Cach that tan cling
Ta see di vao cu the melt vi du de hieu re hap ve each thirc tan cong CSRF. Gia sir,
trang quan trj cua chting ta ea chic nang xoa san pham vii dutmg link nhu saw
http: / /domain/ungdung/admin/delete/1.
Ta hieu dual% link nay nhtr sau: !Man
duqc request xoa san pham vii ma san pham II 1 sau do xac thut quyen va thgc
hien xoa neu xac thgc quyan dirge thong qua. Ket qua am doing link nay la san pham
vii ma sin pham la 1 se bi xoa khed khoi Ca so di: lieu.
Vay neu, tin tat biEt dtrgc dutrng link nay va Chung se gin tii email dm ngtrtri
quan tri met bite thu nac danh co nei dung nhu sau:
Trang 148
<img src=" " width="0"
height="0" />
<img src=" " width="0"
height="0"
<img src=" " width="0"
height="0"
Chao ban. Chuc ban min ngay tot lanh !
Ngutri (wan tri thay email till se click vao de xem dux, va vOi nhfkng bac hinh
kh6ng dugc hien thi nay, ngu&i quan tri se vo tinh ggi tgi ang dung va xoa (delete)
nh&ng sin pham c6 ma san pham trong url.
Qua vi dp nay ta ding phan nao thay duqc mac dr) nguy hiem cua cich thi c tan
ding CSRF.
62.3.2 Gicii phop
De phang trinh each thac tan cong clang CSRF nay ta thutmg c6 ba
phucmg in sau:
- Dung POST thay cho GET.
- Mai khi thao tic trong trang (pan tri thi phai cung cap mat khau.
- Su dung *it token va kiem tra token neu hqp le thi mai xtir
Trong ba phuong An ke tren thi phutmg in thin ba se khien cho viec khai thac
CSRF ter nen kho khan han, nhung dieu d6 khong thing nghia yeti viec chang ta co the
phang chOng hoan town CSRF. Phuong an nay duqc thgc hien kha de dang nhu saw
//Khei tao met bien token
$token = md5(unigid(rand(), true));
//Thay vi clueing link xoa nhu tren, ta se thay the nhu sau:
url:
//Mk nay, khi xu lY viec xoa san phem ta se lam nhu sau:
If($token == $_GET[Itoken'])
//Thuc hien xoa
}
Else
//Token khong hqp 10.
}
Trang 149
KET LU4N
Khea lufm nay da trinh bay each de xay dung Framework thircmg mai dien ter.
Khea luan da di sau tim hieu the van de:
- Tim hieu ve he th6ng thtrong mai dien ter,
- Biet dirge tong quan ve cac PHP Framework,
- Ve cac mAu this& ke (Design Pattern) nlur MVC, Registry, Singleton.
- Cach xay dung cac helper, library.
- Sir dung Ajax trong Framwork
- Cfich bao mat chung cho met img dung WEBSITE
Ket qui thu dirge sau khi thut hien khoa luan:
- Nang cao dirge cac icy rang viet tai lieu, (Lich tai lieu chuyen nganh.
- Biet dirge cac Idle khan va ding th&i el cac phuong phip giai quyet eat khe
khan trong qua trinh vitt mot tai lieu chuyen
Huth% phat trien sau nay:
- Xay dung cac CMS de h6 trg viec to nhanh ra 1 Website thircmg mai dien to
- Ap dung nhUng gi trong khOa luan de phat hien cac san pham ve thucmg mai
dien ter.
Li ngu&i that hien khOa luan, chung em hi vcing met ngay kh8ng xa cac kien
thee nay c6 the ap dung vao that to de dem lai Igi ieh cho ban than va xd hOi.
Met !An nth em xin than thanh cam an cac Thay, Co da tao dien kien gulp do em
hoan thanh tea khOa 1u4n tot nghiep nay.
Trang 150
TM LIEU THAM 'CHAO
• TM lieu fling Viet
[1] - Ebook tin cong vi pheng thfi website, Trung tam an ninh mang, Dai hoc
Bach Khoa HI Nei, nam 2011
[2] - SQL Injection, Dai hoc Khoa hoc Tv nhien — DHQG TP.HCM, nam 2009
[3] - Giio trinh Thuvng mai then tfr ca bin, Dai hoc Ngoai Thuong, nam 2011
[4] - Slide Lep trinh Web, Dai hoc Thing Long
[5] - Gil° trinh He thOng thong tin gain if, Dai hoc Thing Long
[6] - Gig° trinh Cong ugh' plan mem, Dai hoc Thing Long
• Milieu tieng Auh
[1] - Michael Peacock, Packt Publishing PHP5 E-commerce Development
[2]- Cristian Dade, Emilian Balanescn, Beginning PHP and MySQL E-
Commerce, Second Edition
• Cie Website tham khio
[1] -
[2] -
[3]
-
[6] -
Trang 151
Các file đính kèm theo tài liệu này:
- khoa_luan_xay_dung_framework_thuong_mai_dien_tu.pdf