Tham gia vào WWW gồm có các máy chủ Server cung cap thông tin cho may khách Client sử dụng thông tin, Trên các máy chủ cẩn chạy các chương trình phản mẻm làm nhiệm vụ đón nhận thông tin
Trang 1TRƯỜNG ĐẠI HỌC SU PHAM TP HCM
KHOA TOÁN - TIN
MSSV: k29.103.009
TP.HCM 2007
Trang 2LOI MO DAU
Do an tốt nghiệp là phan rat quan trọng trong toàn bộ chương trình dao tạo của
các trường đại học Tuy đỏ an tốt nghiệp chiếm một thời gian không nhiều so với toản
bộ khóa học của các sinh viên nhưng nó mang tính khái quát va thực tế rất cao Điều
này đã giúp sinh viên hoàn thiện hơn kiến thức của minh cũng như tìm hiểu thêm kiếnthức giúp chủng em tự tin và mạnh dan hơn trên con đường dạy học.
Đồ an tốt nghiệp nảy em tìm hiểu, viết một class SMTP đẻ gởi mail bao gồmdạng textplain texthtnl có và không smtp auth, có file attach chạy được trên
Windows va Linux.
Em xin chan thành cam ơn thay ThS Lý Anh Tuan hướng dẫn em dé cho em
hoàn thành tot đỏ án tốt nghiệp lan nay
Với những tim hiểu trên cùng với kiến thức con hạn chẻ của mình chắc chan bản
báo cáo của em còn nhiều thiểu sót em rat mong thay cô củng các bạn giúp đỡ đẻ ban
bao cáo cua em được hoàn thiện hơn.
Em xin chân thành cảm ơn!
Tp HCM ngày 04 thang 05 nam 2007
Sinh viên
Nguyễn Thẻ Hao
Trang 3Trương DH Sư pham TP UCM Do dn tot nghiệp
PHU LUC
Chương 1: CO SỞ LÝ THUYET 00.0.0 cccccscecscsessseeseesseesnessseeseee 2
1 Giới thiệu về Word Wide Web 2 0 c00cc0ccsesssessseesesseesseesseee 2
2 Giới thiệu thư điện (Ể:::-.-:.-‹ ccccnŸSiieorniaeoaniaro 4
3 Giới thiệu về ngôn ngữ lập trình PHP -. 522 5
4 Giới thiệu phần mềm máy chủ web Apache2 6
5 Giới thiệu về giao thức SMTP 5- 5c veersceexeereecee 7
Chương 2: PHAN TÍCH DO ÁN 56c csecceccecrvee 15
Chương 3: HƯỚNG DAN SỬ DỤNG 2- 55-555 17
1 Hướng dẫn cai đặc Apache2 — PHPS5 5-55 17
2 Hướng dẫn sử dung o.oo ececccececececeececeeseeecseeeeeeseeeceeeeeeeeeeees 21
Chương 4: KET LUẬN VA DANH GIA KET QUÁ 23
a | ee 23
Trang 4Trường DH Sư phạm TP HOM Đà dn tot nghiệp
Chương 1: CƠ SỞ LÝ THUYET
1 Giới thiệu về Word Wide Web:
Word Wide Web (WWW) là mạng trao doi thông tin toàn cầu xây dựng trên nen
Internet Tham gia vào WWW gồm có các máy chủ (Server) cung cap thông tin cho
may khách (Client) sử dụng thông tin, Trên các máy chủ cẩn chạy các chương trình
phản mẻm làm nhiệm vụ đón nhận thông tin va gui tra thông tin gọi là Web server
(chương trình chủ cung cấp dịch vụ Web) Trên các máy khách cần chạy chương trình
phản mềm có kha năng giao tiếp với Web server de gửi yêu cau và nhận thông tin gọi
la Web browser (trình duyét Web) Web server và Web browser trao doi với nhau
những thông tin theo định dạng HTML qua giao thức HTTP Một số Web server
thong dụng hiện nay là HS Apache, Một số Web browser thông dụng hiện nay là
1I:, MSIE Mozilar, Opera,
Các chương trình phan mềm chạy trén may chủ cung cap dich vụ WWW gọi là chương trình ứng dung Web Do đặc điểm riêng của WWW các chương trình Web sử
dụng các công nghệ phát triển khác nhau với những chương trình thông thường chạy
trên may tinh cá nhân hay chạy trên mạng cục bộ LAN Kiến trúc tong thẻ cua chuong
trình được thực hiện qua 3 lớp sau: _
Giao diện người dùng
(Các trạm lam việc)
Logic ứng dụng tang trung gian
(Webserver, Application Server}
Lưu trữ back - end (Server CSDL quan hé)
Kiên trúc 3 lap của chương trình ứng dung Web.
Trang 5Trương ĐH Sư phạm TP HCM Dei an tất nghiép
1.1 Tang trên cùng - giao diện người dùng:
La nơi trình duyét Web hoạt động Các trình duyệt Web kết nối với Web server
yêu cầu trang HTML Trinh duyệt Web hiển thị trang HTML nhận được từ Web
server theo khuôn đạng phù hợp cho người sử dụng.
1.2 Tang giữa - ứng dụng phan trung gian:
O mức cơ bản, Web server cung cấp nội dung tĩnh cho các trình duyệt Web Điều
đó có nghĩa là: một Web server nhận được một yêu cau về một trang Web và ánh xạ
URL đó tới tệp địa phương tại máy chủ.
Khi đó server sẽ tải tệp đó từ đĩa và gửi nó qua mạng tới trình duyệt Web của
người sử dụng Toàn bộ quá trình trao đổi này được thực hiện bởi trình duyệt Web và
Server liên lạc với nhau qua giao thức HTTP.
Trình duyệt Web
4 Web server tra tài liêu
cho wink duyệt Web
i, Người dùng yeu cdu một tai liệu
Web server
3 Weh server lây tài liệu
2, Web server tìm tài liệu
từ hệ thắng tép
trong hệ thang tệp
Hệ thông tệp
Kiến trúc 2 lớp đơn gian
Quả trình đơn giản đó cho phép cung cap các nội dung tĩnh như siêu văn bản và các tệp hình ảnh cho các trình duyệt Web Tính đơn giản đó dẫn tới tính trao đôi thông tin phức tạp hơn rất nhiều giữa trình duyệt Web và Web server.
Sự mở rộng quan trọng nhất là nội dung động
Trang 6Trương DH Sư phạm TP HOM Đồ cin tắt nghiện
1 Người dùng wẻ
cáu - một - chương ma
trình esi cung cap
mot trang dong
Web dong va CGI
4 Web server truyền kết
quả của chương trình cgi
3 Web server lấy kết
quả của chương trình
Webstore.cgi
1.3 Tang thứ ba — lưu trữ:
Nơi lưu trừ dir liệu của các ứng dung Web và các Application Server.
2 Giới thiệu thư điện tw:
Đề pửi một bức thu thỏng thường ta có thé mat một vải ngày với một bức thư trong nước va nhiều thời gian hơn dé gui một bức thư ra nước ngoải Do đó đẻ tiết kiệm thời gian và tiền bạc ngày nay nhiều người đã sử dụng thư điện tử Thư điện tử được gửi đến người nhận rất nhanh để dang và rẻ hơn nhiễu so với sử dụng thư tay
truyền thong Vay thư điện tử là gi ? Nói một cách don giản, thư điện tử là một thong
điệp gửi từ máy tính này đến một máy tính khác trên mạng máy tính mang nội dungcần thiết từ người gửi đến người nhận Do thư điện tử gửi qua lại trên mạng và sử
dụng tin hiệu điện vì vậy tốc độ truyền rất nhanh Ngoài ra bạn có thẻ gửi hoặc nhận
thư riêng hoặc các bức điện giao địch với các file đính kèm như hình ảnh các cong
văn tải liệu thậm chí ca ban nhac, hay các chương trình phản mem
Thu điện tử con được gọi tắt là E-Mail (Electronic Mail) là cách gửi điện thưrat phô biển E-Mail có nhiều cau trúc khác nhau tùy thuộc vào hệ thong máy vi tinhcủa người sử dụng Mặc dù khác nhau vẻ cầu trúc nhưng tat cả đều có một mục đíchchung là gửi hoặc nhận thư điện tử tir một nơi này đến một nơi khác nhanh chóng.
Trang 7Trưmg DH Sư pham TPO HC AI Độ dn tốt nghiệp
Ngày nay nhờ sự phát triển mạnh mẽ cua Internet (Mạng Lưới Troy én Tin Toản Cau)
người ta có thẻ gửi điện thư tới các quốc gia trên toan thẻ giới Với lợi ích như vậynẻn thư điện tử hau như trở thành một nhu cầu can phai có cua người sử dụng máy vitinh Gia sử như bạn đang là một nha kinh doanh nhỏ và can phai ban hang trén toan
quốc Vậy làm thể nao mà bạn có thé liên lạc với khách hang một cách nhanh chóng
va để dang Thư điện tử là cách giải quyết tốt nhất và nó đã trở thành một dich vụ pho
biên trên Internet.
Tại các nước tiên tiền cũng như các nước đang phát triển các trường đại học
các cơ cầu thương mai, các cơ quan chỉnh quyền v.v đều đã và dang kết nói hệ thông
may vi tính của họ vào Internet đẻ sự chuyẻn thư điện tử được nhanh chóng vả dé
dang.
3 Giới thiệu về ngôn ngữ lập trình PHP:
PHP (Hypertext Preprocessor) là kịch bản trên Server (Server Script), được thiết
kẻ cho phép người dùng xây dựng ứng dụng Web trên cơ sở dit liệu Mã PHP có thẻthực thi trẻn Web server dé tạo ra trang HTML và xuất ra trình duyệt Web theo yêu
cầu của người dùng.
PHP ra đời vào khoảng năm 1994, do một người phát minh mang ten RasmusLerdorf, dan dan nó được tiếp tục phát triển bởi nhiều người khác cho đến ngày nay
PEP là ngôn ngữ mã nguồn mỡ điều nay có nghĩa là người dùng có thẻ làm việc
trên mã nguon, them, sửa, sử dung và phân phỏi chúng PHP có những đặc điềm sau:
Được xảy dựng nhằm phat triển các img dụng Web Có nhiều ham, thủ tục
chuyên dụng sẵn trong lập trình Web hỗ trợ quản lý session
- lễ học dé sử dụng.
- Xu lý chuỗi mạnh,
- là ngôn ngữ script hướng đối tượng mã nguồn mở.
a
Trang 8Trưưmg DH Su pham TP HCM Đà cin tắt nghiệp
- PHP có thé chạy hầu hết trên các hệ điều hành quy trình cài đặt dé dàng đơn
giản.
- Có khả năng mở rộng ngôn ngữ.
- Là ngôn ngữ phát triển cao, trong thời gian dai do có nhiều sự hỗ trợ nhiều
công cụ dựng sẵn.
- Trợ giúp CSDL mạnh qua các ham, thủ tục sẵn có do đó dé sử dụng và có tốc
độ cao PHP hỗ trợ hau hết cho các hệ quan trị CSDL va còn hỗ trợ kết nồi
ODBC.
- Cac chương trình viết bằng PHP cho phép nhúng ma HTML do đó quá trình
phát triển ứng dụng Web để đàng và nhanh chóng hơn
4 Giới thiệu phần mềm máy chủ web Apache2:
Apache được xem là nguyên mau điện hình cua tien trình phát triền mã nguồn
mơ và phản mềm may chu web Hiện dự án mà nguồn mơ này van dang trong tiên
trình thực hiện đồng thời dp ú cho những sane tạo mới,
Theo Netcraft, công ty dich vụ Internet ở Anh, gan 50 triệu trang web trên toàn
thé giới hiện nay dùng ứng dụng máy chủ web Apache chiếm 70% lĩnh vực web
server Đối thủ lớn nhất của Apache là Internet Information Services (IIS) của
Bên cạnh đỏ Apache ôn định va dang tin cậy "Khả năng hoạt động không may
khi gặp trục trặc khiến chúng tôi chon Apache”, Jim Willis, Giám đốc công nghệ
thông tin tại Văn phòng ngoại trường dao Rhode (Mỹ) cho biết “Ching tôi đã phải
Trang 9Trường DH Su pham TP HCM Đỏ dn tốt nghigp
chật vật "đối phỏ` với phần mềm máy chủ IIS và không còn đủ kiên nhẫn đẻ tiếp tục'thuằn' nó nữa Sau khi chuyền sang Apache, số thời gian chúng tôi dành ra dé quản lýweb server đã giảm dang ké, nhờ đó có thẻ thanh thoi tập trung vào những công việc
chuyên môn khác.
5 Giới thiệu về giao thức SMTP:
Công việc phát triển các hệ thông thư điện tir (Mail System) đòi hỏi phải hình
thành các chuẩn chung về thư điện tử Điều này giúp cho việc gửi, nhận các thông điệp được đảm bao, làm cho những người ở các nơi khác nhau có thẻ trao đôi thông tin cho nhau.Có 2 chuẩn vẻ thư điện tử quan trọng nhất và được sử dụng nhiều nhất từ
trước đến nay là X.400 và SMTP (Simple Mail Transfer Protocol) SMTP thường đikèm với chuân POP3 Mục dich chính của X.400 là cho phép các E-mail có thẻ được
truyền nhận thông qua các loại mạng khác nhau bat chap cau hình phan cứng, hệ điều
hành mạng giao thức truyền dẫn được dùng Còn chuẩn SMTP miêu tả cách điều
khiển các thông điệp trên mạng Internet Điều quan trọng của chuân SMTP là giả định
máy nhận phải dùng giao thức SMTP gửi thư điện tử cho một máy chủ luôn luôn hoạt
động Sau đó, người nhận sẽ đến lấy thư từ may chủ khi nào họ muốn dùng giao thức
POP (Post Office Protocol), ngày nay POP được cải tiến thành POP3 (Post Officce
Protocol vertion 3).
Trang 10Trường DH Sư phạm TP HOM Do án tắt nghiệp
ee k cứ Me Cee
Matt Met
Thu tục chuản trén Internet dé nhận và gui cua thư điện từ là SMTP (Simple
Mail Transport Protocol) SMTP là tha tục phát triển ở mức ứng dụng trong mô hình 7
lớp OSI cho phép gui các bức điện trên mạng TCP TP SMTP được phát triền vào nam
1982 hơi tò chức [ETE (Internet Engineering Task Force) và được chuẩn hoa theo ticu
chuẩn RECs 83L và 822 SMITTP sự dụng công 25 của PCP.
Mặcdu SMTTP là thu tục gun và nhận thư điện tu pho biển nhất như nó van còn
thiết một số đặc diém quan trọng có trong thú tục X400, Phan yeu nhất của SMTP là
thiết kha nang hỗ trợ cho các bức điện không phải dang Text Ngoài ra SMTP cũng cókết hop thêm hai thu tục khác hồ trợ cho việc lay thư là POP3 và IMAPA
MIME và SMTP
MIME (Multipurpose Internet Mail Extensions) cung cap thêm khả năng cho
SMIP và cho phép cae file có dạng mã hoa multimedia di hem với bức điện SMTP
chuẩn MIME sư dụng bang mã Base64 dé chuyên các file dạng phức tap sang ma
ASCH dé chuyên di MIMF là một tiêu chuẩn mới như nó hiện đã được hồ trợ bơi hauhết các ting dụng va bạn phải thay đổi nẻu chương trình thư điện tự của bạn không có
hd trợ MIME MIME được quy chuan trong các tiệu chuân RFC 2045-3049.
Trang 11Treme DH Sư phưm TP HOM Đỏ án tút nghigp
S/MIME
1a một chuận mới của MIME cho phép hồ trợ cho các bức điện được mã hoa.
S MIMI- dựa trên Kỹ thuật mã hoa cong cộng RSA và giúp cho bức điện không bịxem trộm hoặc chan lay,
RSA Public Key/Private Key Authentication
Viet tắt cho Rivest Shamir và Adelman là những người khám phap ra cảnh
mã hod nay RSA cung cap cập khoá public key private key (khoá công công/khoá
riêng) dé mã hoa, Dit liệu sé được mã hoá boi khoả cong cộng và chỉ có thẻ được giải
ma boi Khoa riêng, Với S MIME người gui sé su dụng một chuối ma hoá ngẫu nhiền
sư dụng khoá công cong cua người nhận Người nhận sẻ giải ma điện bang cách su
dụng Khoa riêng Muôn nghiền cứu ky vẻ mã hoá RSA vào trang web
hp: www rsa.com
SMIMI: dược định nghĩa trong các tiểu chuẩn RECs 3311 và 3312.
Lệnh của SMTP
Một cách đơn giản SMTP su dụng các cau lệnh ngắn đẻ điều khiẻn bức diện.
Bang o duo là danh sách các lệnh cua SMTP
Trang 12Trường DH Su phạm TP HOM Đỏ an tắt nghiệp
Các lệnh của SMTP được xác định trong tiêu chuẩn RFC 821
f
ELC Hello Sử dung de xác định người gửi điện Lệnh nảy nay đi
| kèm với tên của host gửi điện Trong ESTMP (extended!
protocol) thi lệnh nay sẽ là BELC.
|
poe en ee
Ma Khởi tao một giao địch gửi thu No ket hop "from" đẻ xác định
người gửi thu
|Azz= “Xác định người nhận thư.
(PATA Thông bảo bat dau nói dung thực sự của bức điện (phan than
| của thư) Di liệu được mã thành dang mã 128-bit ASCH vả nó
| được ket thúc voi mot dong đơn chứa dau cham (.).
Huy bo giao địch thư
| Sử dụng đề xác thực người nhận thư.
[Xzoz No là lệnh “no operation" xác định không thực biên hanh động|
| gì |
Scr Thoát khoi tiên trình dé kết thúc
SEX= Cho host nhận biết rang thư con phải gu den dau cuối khác.
Các lên cua SMTP rat đơn gian bạn có thé nhìn thay ở ví dụ sau:
Trang 13Trường ĐH Su phạm TP HCM Đồ an tắt nghiệp
DATA
354 Enter mail end with a i.i on a line by itself
Here goes the message.
250 Message accepted for delivery
QUIT
221 Goodbye host.sendingdomain.com
Và bức thư sẻ rong như sau:
From username@)sendingdomain.com Fri Jul 30 09:23:39 1999
Date: Fri 30 Jul 1999 09:23:15 -0400 (EDT)
Khi mot MTA gui một lệnh SMTP tới MTA nhận thi MTA nhận sé tra lời với
một mã trạng thái dé cho người gửi biết dang có việc gì xây ra đầu nhận Và dưới day
là bang mã trạng thai của SMTP theo tiêu chuân RFC 821 Mức đỏ của trạng thaiđược xác định bởi số dau tiên của mã (5xx là lỗi nặng 4xx lả lỗi tạm thoi Ixx-3xx lảhoạt động bình thường).
SMTP mở rộng (Extended SMTP)
SMTP thì được cái thiệt dé ngay cảng dap ửng nhu cau cao của người ding và
là một thủ tục ngày cảng có ich, Như dù sao cũng can có sự mo rộng tiêu chuẩn
il
Trang 14Trườmg DE Sư pham TP HCM Đỏ an tốt nghiờn
SMIP và chuẩn REC 1869 ra đời đẻ bộ xung cho SMEP No không chi mơ rộng ma
con cũng cấp thêm các tính năng can thiết cho các lệnh có sẵn.
Vi dụ: lệnh SIZE là lệnh mo rộng cho phép nhận giới hạn độ lớn cua bức điện
dén.Khong có ESMTP thì sẽ không giới hạn dược do lớn của bức thư Khi hệ thông kết nội với một MTA nó sẻ sur dụng khơi tạo thi 1/SMIEP thay HELO bảng LILO.Néu MEA có ho trợ SMIP mo rộng (ESMTP) thi nó sẽ tra lời với một danh sách cáclệnh mà nó sẽ hé trợ Néu không nó sẽ tra lời với mã lệnh sai (S00 Command not
recognized) va host gửi sẽ quay tro vẻ su dụng SMTP Sau đây là một tien trình
Trang 15Trường ĐH Sư phạm TP HCM Đồ an tốt nghiệp
Các lệnh cơ bản của ESMTP
———-—-—— - ——— ——— -—— -——————— ——- -——— ~>—-—~ -° -+~======
| Lệnh Mieu ta
(5822 ‘Su dụng ESMTP thay cho KELO cua SMTz
plesk: đệ, > Sử dụng 8-bit MIME cho ma dik hiệu
[s1zE ‘St đụng giới hạn đỏ lớn của bức điện
SMTP Headers
Có thé lay được rất nhiều thông tin có ích bằng cách kiêm tra phan header cua thư Không chi xem dược bức diện từ dau đến chủ dé của thư ngày gửi và những
người nhận Ban còn có the xem được những điểm ma bức điện da đi qua trước khi
đến được hộp thư của bạn Tiêu chuẩn RFC 822 quy định header chứa những gì Tốithiểu có người gui (from), ngay gửi và người nhận (TO, CC hoặc BCC) Header cua
thư khi nhận được cho phép bạn xem bức điện đã di qua những dau trước Khi đến hộp thư cua bạn Nó là một dụng cụ rat tot dé Kiem tra va giai quyet lôi Sau day là ví dụ:
From someone@mydomain.COM Sat Jul 31 11:33:00 1999 Received: from hostl.mydomain.com by host2.mydomain.com
(8.8.8+Sun/8.8.8)
with ESMTP id LAA21968 for ;
Sat, 31 Jul 1999 11:33:00 -0400 (EDT)
Received: by host] mydomain.com with Internet Mail Service
(5.0.1460.8)
id : Sat, 31 Jul 1999 11:34:39 -0400
Message-ID:
j3