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 11­1992: Đã 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 9­8­1995: “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

 Cross­Site 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.  N­Stealth.

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 động­tí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

ảBrowserUser

Cách th c truy c p web truy n th ng: User“Submit”Browser“HTML+GET(POST)“ Server Server1 trang web k t quế Ch m ch p. Thi u thân thi n

ậ ế

ử ụ

Cách th c truy c p web s d ng công ngh AJAX :  Browser  “XMLHttpRequest”  Server  Server  ph n h i ồ  Browser Không c n load l i trang web. ạ ầ Nhanh, thân thi n.ệ

The end

Cám ơn các bạn đã quan tâm theo dõi.