University of Natural Sciences- HCMC
Faculty of Electronics and Telecommunications
WEB APPLICATION
ệ
Tr
ọ
Sinh viên th c hi n: ự ng Thanh H i MSSV:0620019 ả ươ Huỳnh T n Hùng MSSV :0620021 ấ Tr n Bình Tr ng MSSV: 0620089 ầ Hoàng Anh Tu n MSSV: 0620092 ấ
Nôi Dung Trình Bày:
1/ Định Nghĩa Web. 2/ Lịch Sử Phát Triển. 3/ Tìm hiểu về ứng dụng Web. 4/ Ngôn Ngữ Lập Trình & Công Cụ Truy Cập. 5/ Thông Tin & Dữ Liệu & Bảo Mật. 6/ Các Ứng Dụng Của Web. 7/ Định Hướng Phát Triển.
1/ Vấn Đề Đặt Ra:
Bạn muốn biết thông tin về một công ty ? Bạn muốn mua bán mà không cần ra ngoài ? Bạn muốn tìm tài liệu cho học tập và nơi giải đáp
mọi thắc mắc trong công việc học tập? Bạn muốn xem những bộ phim Hot nhất ? Bạn muốn nghe nhac hay tạo một trang lưu trữ
những thông tin cá nhân của mình???
Giải quyết những vấn đề này ra sao ????????
Hướng Giải Quyết ???
Ngày 6-8-1991, Tim Berners Lee công b ố ch ng trình web ươ
Web là gì & Ứng dụng ra sao ?
Định nghĩa web Website là một văn phòng ảo của doanh nghiệp trên mạng Internet. Website bao gồm toàn bộ thông tin, dữ liệu, hình ảnh về các sản phẩm, dịch vụ và hoạt động sản xuất kinh doanh mà doanh nghiệp muốn truyền đạt tới người truy cập Internet.
Web là nơi chúng ta có thể trao đổi mọi thông tin ,tài liệu . là nơi chúng ta có thể mua bán trực tuyến và giải trí….
Web là nơi chúng ta có thể chia sẻ cảm xúc và là nơi
lưu trữ những thông tin cá nhân.
2/ Lịch sử phát triển của web
Ngày 6-8-1991, Tim Berners Lee công b ch
ng trình
ố
ươ
web. D án “World Wide Web”
ự
Ngày 12-12-1991: Máy ch đ u tiên ngoài châu Âu online ủ ầ
Language) dùng trong l p trình web đ
Tháng 111992: Đã có 26 máy chủ web online Ngày 22-4-1993: Trình duy t Mosaic cho Windows ra đ i ờ ệ Tháng 6-1993: Ngôn ng HTML (Hypertext Mark ữ c công b . ố ậ
ượ
c đ a lên internet.
Tháng 2-1994: Ti n thân c a Yahoo đ ề
ủ
ượ
ư
Ngày 981995: “Bùng nổ tên miền .com”. Hàng loạt công ty trực tuyến chính
thức mở cửa website của mình.
ượ
ầ
Ngày 24-8-1995: IE đ Tháng 9-1998: Google m c a văn phòng đ u tiên c a mình t
i m t gara
c phát hành và là m t ph n trong Windows 95. ở ử
ộ ầ
ủ
ạ
ộ
ở
California.
ệ
ầ
Tháng 8-2000: Đã có g n 20 tri u Website Năm 2009: Đã có…102.615.362 website.
ÖÙng duïng WEB laø gì ?
ng d ng web
ụ
ụ
ạ
ộ
(hay web Ứ application) là m t trình ộ ng d ng mà có th ti p ể ế ứ c nậ thông qua m ng nh ư Internet hay intranet. M t vài ng d ng Web ứ ụ
ụ ư
ự
thông d ng nh : Webmail, ế wiki, bán hàng tr c tuy n, forum, blog, …
3/ Tìm hiểu về ứng dụng Web
Domain Hosting:Tên mi n (Domain name) là
ề
Quy trình đăng kí m t tên mi n
ề
ộ
đ nh danh c a website trên Internet ủ ị
Caáu taïo cuûa moät teân mieàn
Tên mi n đ
c chia
.com, .net, .org, …
Qu c gia ố
Cấp 2: *.vn, *.us, *.uk, *.sg, ... Cấp 3: *.com.vn, *.co.uk, *.com.sg, …
11
ề ượ làm 2 d ng chính: ạ Qu c tố ế
Quy đ nh khi đ t tên mi n
ề
ặ
ị
Tên mi n (Domain name) không đ ượ , bao g m c ph n ầ ự
c ề
Tên mi n ch bao g m các ký t
ả ồ
ồ ỉ ự
t quá 63 ký t v ượ .com, .net, .org. ề ữ ố trong ấ
b ng ch cái (a-z), các s (0-9) và d u tr ừ ả (-).
Không th b t đ u b ng ho c k t thúc tên ằ mi n b ng d u tr (-).
ặ ế
ể ắ ầ ấ ề
Tên mi n không c n b t đ u b ng
12
ho c ặ www ho c ặ http://www.
http:// ắ ầ ằ ằ ề ừ ầ
Web Hosting
ơ ư
Web Hosting là n i l u tr t ư ệ
t c các trang Web, các ữ ấ ả li u, hình nh c a Website trên m t máy ủ
ả
ộ
thông tin, t ch Internet
ủ
Các yêu c u c n thi
ầ ầ
ượ
t ế c a ủ một Web Hosting Tính năng T c đố ộ ng Dung l Băng thông Bảo mật.
Web hosting
ỗ ợ
ủ ằ
ứ
H tr truy xu t máy ch b ng ấ ể truyền tải tập
giao th c FTP đ tin
ỗ ợ
ữ ậ ư ơ ở ữ ệ
ứng dụng
H tr các các ngôn ng l p trình cũng nh c s d li u tưng ứng đ th c thi ể ự Web trên Internet
Có 2 nhánh là Windows Hosting và Linux Hosting Ngoài ra các công ty và
ả
ể
B ng đi u khi n Control Panel c a m t gói Hosting ộ
ề ủ
doanh nghiệp lớn cũng có thể tự thiết lập Server riêng
Phaàn meàm maùy chuû Web
Web Server (máy ph c v Web): máy tính mà ụ ụ ề B t kỳ m t máy tính nào cũng có th tr thành
ầ ặ ụ ụ
ộ trên đó cài đ t ph n m m ph c v Web ể ở
ặ ở
ầ
ệ cài đ t lên nó m t ộ (Web ủ ế ố
ấ m t Web Server b i vi c ộ ng trình ph n m m máy ch Web ch ề ươ Server Software) và sau đó k t n i vào Internet ho c m ng LAN ạ ặ
Giao dieän
Mô hình hoạt động của Web Server
ữ ậ
4/ N g o â n N g L p Trìn h Dùng để viết nên những Website động, giúp người sử dụng thông qua giao diện tương tác từ trình duyệt có thể làm việc với cơ sở dữ liệu trên Server
Có nhiều loại ngôn ngữ khác nhau, hoạt động trên những môi trường khác nhau tương ứng
18
Ngôn ngữ lập trình web Ngôn ngữ lập trình web
Để thiết kế giao diện cho Website, ta dùng
Có thể chèn vào những đoạn code ngôn ngữ kịch bản như Java Script, VB Script, hoặc Shock Wave Flash
19
ngôn ngữ đánh dấu HTML
Moät soá ngoân ngöõ laäp trình tieâu bieåu
PHP HTML ASP XML JSP JAVASCRIPT VB SCRIPT
20
PHP (Hypertext Preprocessor)
Đ c ch y trên máy ch Linux ho c
ủ
ặ
ượ
ạ Windows.
ể
Đ c đi m
t, d dùng, d phát tri n ễ
ễ ế
ễ ữ ậ
ặ Mã nguồn mở, miễn phí. Cú pháp giống C và Java. D vi ể , triển khai nhanh. Là ngôn ng l p trình web ph bi n nh t hi n nay ệ ấ ổ ế Thích hợp cho các trang web vừa và nhỏ.
HTML(HyperText Markup Language)
Ngôn ngữ Đánh dấu Siêu văn bản
Thiết kế giao diện cho Website tĩnh
ASP(active server pages)
ASP và sau này là ASP.NET Ch y trên máy ch Windows
ủ
hoặc Linux .
ề ả
Đ c Microsoft xây d ng trên n n t ng .NET, ự k t h p v i c s d li u MS
ạ ượ ế ợ ớ ơ ở ữ ệ
SQL Server.
Ch ho t đ ng trên các h Web server c a
ỉ ạ ộ
ủ
ọ
Microsoft.
Thích h p cho các trang Web l n.
ớ
ợ
XML(Xtensible Markup Language)
Ngôn ngữ xây dựng cấu trúc tài liệu văn
Dựa theo chuẩn SGML (Standard Generalized Markup Language)
Tạo nội dung động , độc lập với các
bản do W3C đề xuất
máy server
JSP (JavaServer Pages)
Là sự mở rộng của công nghệ
JSP có ưu điểm so với ASP: sau lần đầu thực thi, mã được lưu lại trong bộ nhớ
Đa nền, hướng đối tượng, bảo mật an
JavaServlet (chuẩn J2EE của SUN)
toàn.
JAVASCRIPT
Ngôn ngữ lập trình kịch bản dựa trên đối
Dùng để thực hiện một số tác vụ không như kiểm thể thực hiện được với HTML tra thông tin nhập vào,tự động thay đổi hình ảnh.
tượng,phát triển từ ngôn ngữ C
AJAX(ASYNCHONOUS JAVASCRIPT AND XML)
Kết hợp Javascript va XML để tạo sự tương tác giữa các ứng dụng web.
Tăng tốc độ ứng dụng web bằng cách
cắt nhỏ dữ liệu
Cach thưc hoat đông cac trang WEB
Trang Web vi
t b i HTML
ế ở
Trang Web vi
t b i PHP
ế ở
́ ́ ̣ ̣ ́
Các Công Cụ Truy Cập
IE. Firefox. Opera. Google Chrome.
…
5/ Thông Tin & Dữ Liệu & Bảo Mật
Trong thời đại kinh tế tri thức, thông tin là tài sản đóng vai trò quyết định sự thành bại.
Do đó các thông tin quan trọng cần được
bảo vệ chặt chẽ, tránh bị Bên ngoài đột nhập vào trong lấy thông tin Bên trong đưa thông tin ra ngoài.
Theo đó, bảo mật là quá trình bảo đảm an toàn
thông tin, theo chuẩn C.I.A
Tính bảo mật (Confidentiality) Tính toàn vẹn (Integrity) Tính sẵn sàng (Availability)
Theo TCVN 7562:2005, t
ng đ
ng v i
ươ
ươ
ớ ISO/IEC 17799:2000
31
Những lỗ hổng thường gặp trong website
Dữ liệu đầu vào không được kiểm tra tính hợp lệ.
Lỗi kiểm soát truy cập nguồn tài nguyên. Lỗi liên quan đến quá trình quản lý xác thực và phiên truy cập. Lỗi tràn bộ đệm. Lưu trữ thiếu an toàn. Từ chối dịch vụ.
Quản lý cấu hình thiếu an toàn. Quy trình xử lý báo lỗi.
PHÖÔNG THÖÙC TAÁN COÂNG
THU THAÄP THOÂNG TIN CHUNG.
Tên miền, hệ điều hành, ngôn
ệ
hoạt
ngữ lập trình, h CSDL động trên Server,…
Chủ sở hữu, đội ngũ quản trị,
điều hành của Website.
Địa chỉ IP, máy chủ DNS của
Website.
Các cổng và dịch vụ tương ứng đang được mở trên Server.
Khaûo saùt öùng duïng Web
Website sử dụng ứng dụng Web nào? Mã nguồn mở hay đóng? Phiên bản? Nếu là mã nguồn mở thì download source code về để phân tích và kiểm tra, tìm đọc các thông tin về bug và exploit của phần mềm đó.
Doø tìm loãi töï ñoäng
Dùng các công cụ quét và dò lỗi
Website như : Scrawlr. MaxQ, Selenium. Acunetix Web Vulnerability Scanner. Joomla…
ầ
ề
Giao di n ph n m m Acunetix Web Vulnerability ệ Scanner
Doø tìm loãi baèng tay
Vận dụng các kiến thức về lập trình, hệ điều hành, bảo mật và mạng máy tính, như một “người dùng tinh nghịch” hacker tiến hành các thao tác dò lỗi trực tiếp ngay trên Website, nhất là ở phần nhập dữ liệu đầu vào.
Khai thaùc loãi/taán coâng.
Đây là giai đoạn quan trọng nhất để chiếm được
quyền điều khiển Website.
Một vài cách thức tấn công phổ biến:
SQL Injections. Session Hijacking. Local Attack. DNS Cache Poisoning. Dùng các loại trojan, virus để mở cửa hậu, đánh cắp
mật khẩu admin.
DoS, DDoS và DRDoS. …
SQL Injections
Lợi dụng lỗ hổng trong việc kiểm tra dữ liệu
nhập vào của các ứng dụng web để thi hành các câu lệnh SQL bất hợp pháp.
M t h u qu c a SQL Injections
ộ ậ
ả ủ
Local Attack
Một Server cấu hình mạnh có thể host
Nếu hacker tấn công vào được 1 site
được nhiều trang web hoạt động một lúc.
thuộc Server đó sẽ có thể chuyển hướng sang tấn công các site lân cận trong nội bộ.
r57shell – M t công c hack local attack
ụ
ộ
Session Hijacking
Chiếm phiên truy cập hợp lệ của máy nạn nhân từ cookies của trình duyệt
DoS, DDoS, DRDos
Không làm ảnh hưởng đến tính toàn vẹn và bảo mật, nó chỉ làm cho Website không thể luôn sẵn sàng hoạt động.
Moät soá hình thöùc taán coâng môùi
DNS Cache Poisoning. XSS. WebServer hacking. Buffer Overflow.
XSS
CrossSite Scripting
(XSS) là một trong những kĩ thuật tấn công phổ biến nhất hiên nay. Bất kì một website nào
cho phép người sử dụng đăng thông tin mà không có sự kiểm tra chặt chẽ các đoạn mã nguy hiểm thì đều có thể tiềm ẩn các lỗi XSS.
Mo â h ìn h t a á n c o â n g XS S
Buffer Overflow
Khai thác tràn bộ đệm. Buffer Overflow Attacks by James C. Foster, Vitaly Osipov, and Nish Bhalla (Paperback Mar 7, 2005) Illustrated
Chieám quyeàn maùy chuû
Sau khi đã đoạt được quyền admin, đây là lúc
mà hacker tiến hành công việc “hack”.
Với hacker mũ đen đó là: phá hoại, đánh cắp,
chỉnh sửa lại dữ liệu.
Với hacker mũ trắng đó là: tóm tắt lại quá trình xâm nhập, phân tích lỗi và gửi đến admin có trách nhiệm quản lý hệ thống mà không có bất kì đòi hỏi, vụ lợi nào.
Xoùa daáu veát
Bước cuối cùng của cuộc tấn công là Hacker sẽ xóa tất cả các dấu vết còn lưu lại trên Server và Client trước khi thoát ra (các file log, địa chỉ IP, phiên làm việc, cache, history…).
Baûo maät öùng duïng Web
Kiểm định và tối ưu hóa mã nguồn ứng dụng
Web, các query tới database.
Quản lý, phân quyền người dùng truy cập
Website, database chặt chẽ.
Dùng chính sách mật khẩu an toàn. Thường xuyên sao lưu mã nguồn và cơ sở dữ
liệu dự phòng cho Website.
Mã hóa, đổi tên source code, nhất là các tập
tin cấu hình quan trọng (config.php).
Ba lớp bảo vệ website
a/ Vành đai bảo vệ chung cho toàn hệ thống
mạng (lớp 1), gồm cả hệ thống web.
b/ Tường lửa chuyên dụng cho các ứng dụng
web.
c/ Thiết bị an ninh tích hợp hoặc thiết bị chống
xâm nhập mạng.
Moät soá phöông phaùp baûo maät
Dùng câu hỏi chứng thực để kiểm tra
người dùng thật (CAPTCHA)
Baûo maät Server
Thường xuyên cập nhật, vá lỗi cho
Hệ điều hành Server Phần mềm Web Server Phần mềm thông dịch Web Phần mềm quản lý CSDL Phần mềm chống Virus
Dựng Firewall Chỉ mở những port cần thiết sử dụng trên Server
Cấu hình chmod
đúng, nhất là các tập tin config, tránh bị local attack
Dùng tập tin cấu hình .htaccess
C u hình l u
ấ
ư file log
truy xu tấ Website, Web server, Database.
C u hình chmod
ấ
Nikto . Paros Proxy. WebScarab. WebInspect. Whisker/libwhisker. Wikto. Acunetix Web Vulnerability Scanner. Watchfire AppScan. NStealth.
Các công cụ kiễm tra bảo mật web
Moät soá coâng cuï tröïc tuyeán
Google Safe Browsing Tool:
Norton Safe Web
http://www.google.com/safebrowsing/diagn ostic?site=(website bạn kiểm tra).
McAfee Site Advisor
http://safeweb.norton.com/
http://www.siteadvisor.com/sites/
Secure Sockets Layer (SSL)
Là giao thức giúp mã hóa và truyền tải toàn bộ thông tin đi và đến trên một cổng định trước (socket 443)
Phiên bản mới
nhất hiện nay là SSL 3.0
Mô hình ho t đ ng c a SSL ạ ộ
ủ
Giao thức SSL bao gồm 2 giao thức con Giao thức SSL record xác định các định
dạng dùng để truyền dữ liệu.
Giao thức SSL handshake (gọi là giao thức bắt tay) sẽ sử dụng giao thức SSL record để trao đổi một số thông tin giữa server và client vào lấn đầu tiên thiết lập kết nối SSL.
Giao th c SSL nhìn t
phía ng
i dùng
ứ
ừ
ườ
Thu n l
i ậ ợ :
ầ
ườ ử ụ
ả
ở ộ
ứ
ể
i s d ng internet đ Ngày này do nhu c u c a ng ể ủ h c t p, làm vi c và gi i trí ngày càng cao đã góp ph n ọ ậ ầ ệ thúc đ y quá trình phát tri n và m r ng các ng d ng ụ ẩ web. Khó khăn:
Cac ng dung web cang phat triên thi cang đoi hoi môt
́ ứ ng băng thông l n đê truyên tai. ớ
l ượ
̣ ̀ ́ ̉ ̀ ̀ ̀ ̉ ̣
́ ứ
̉ ̀ ̉
ứ
̣ ́ ̃ ̉ ̣ ̃ ̀ ̀
̣ ̀ ̣ ̃ ̣ ̀ ̣ ́
Bên canh đo lôi cua cac ng dung web cung ngay cang đa dang va ph c tap, đa tao điêu kiên cho cac hacker xâm nhâp vao cac website. =>Vi ly do trên cho nên viêc
̣ bao mât cac website
ở
̣ ̀ ́
ự
̀ ́ ̉ ̣ ́ ̀
tr thanh trong điêm trong viêc xây d ng va phat triên cac ng ́ ứ dung web.
̣ ̉ ̣ ̀ ́ ̉
̣
6. Các ứng dụng web
Truy cập thông tin . Giao lưu ,trao đổi thông tin : Mail,
Học tập,các tiện ích văn phòng… Relax : web nhạc,film, Game online… Thương mại điện tử …
Blog ,Forum,Facebook…
Ưu điểm & ích lợi
Truy cập mọi lúc mọi nơi ( miễn là có
Cung cấp nhiều thông tin phục vụ nhu cầu học tập, giải trí ,kinh doanh …..
thể truy cập được Internet)
7.Hướng phát triển
Các ứng dụng web sẽ dần thay thế các
ứng dụng trên desktop. Thời đại của open source. Trí tuệ cộng đồng được đề cao. Đơn giản ,gọn nhẹ và tích hợp. Văn phòng online .
Chrome OS
Hệ điều hành có các ứng dụng web sẽ thay thế các ứng dụng trên desktop.
Hướng phát triển web
Tạo ra các web độngtính năng và cách thức nó tương tác với người dùng: rất tiện lợi và nhanh chóng đến nỗi bạn gần như tưởng mình đang sử dụng một phần mềm chứ không phải đang xem trang web.
AJAX – Tương lai của ứng dụng Web
AJAX (Asynchronous JavaScript And XML.) AJAX không phải là một ngôn ngữ lập trình mới mà là một
cách thức mới sử dụng những chuẩn đã có.
AJAX là tập hợp của nhiều công nghệ với thế mạnh của
riêng mình để tạo thành một sức mạnh mới.
Tạo ra những ứng dụng web tốt, nhanh và thân thiện với
người dùng hơn.
Dựa trên những yêu cầu JavaScript và HTML
AJAX
Là một kỹ thuật để tạo ra những ứng dụng web. Là công nghệ phía browser Browser (XMLHttpRequest) server: sử dụng kỹ thuật chuyển dữ liệu bất đối xứng (asynchronous) Trao đổi dữ liệu với máy chủ mà không cần load lại
trang web.
Ứng dụng Internet trở nên nhỏ, nhanh và thân thiện.
AJAX và các chuẩn về web
AJAX dựa trên các chuẩn về web sau đây: Javascript XML HTML CSS Độc lập với các browsers và các platforms
ố
ậ
ề
ứ
ảBrowserUser
ạ
Cách th c truy c p web truy n th ng: User“Submit”Browser“HTML+GET(POST)“ Server Server1 trang web k t quế Ch m ch p. Thi u thân thi n
ậ ế
ệ
ậ
ứ
ử ụ
ệ
ả