AJAX–TươnglaicủaWeb2.0
collection by traibingo
1
VÍ DỤ MINH HỌA & CÁCH ÁP DỤNG CÔNG NGHỆ
AJAX
Đừng để danh sách những công nghệ làm nên AJAX "hù dọa" bạn. Thực ra việc tìm
hiểu nghiên cứu và áp dụng công nghệ này rất đơn giản và thậm chí bạn không cần
phải hiểu rõ cách sử dụng những công nghệ thành phần (ví dụ như DOM - tất nhiên
nếu bạn biết về DOM thì sẽ rất tuyệt, nhưng nếu bạn không biết về nó thì cũng không
sao). Bản thân tớ chỉ mất 1 ngày để mày mò nghiên cứu bản chất và áp dụng công
nghệ này thực hiện một ví dụ minh họa cho bài viết.
Trong ví dụ sau, tớ sẽ tạo một mẫu đơn đăng ký nho nhỏ, yêu cầu người dùng chọn
một tên đăng nhập và cung cấp một địa chỉ email không được trùng lặp với bất kỳ ai
trong cơ sở dữ liệu đã có. Bằng cách sử dụng Ajax, tớ có thể kiểm tra so sánh với danh
sách tên trong cơ sở dữ liệu ngay sau khi người dùng vừa mới nhập tên xong và báo
lỗi ngay nếu nó bị trùng (không cần đợi người dùng phải gửi mẫu đơn đi). Điều tương
tự xảy ra đối với địa chỉ email, chỉ thêm một cái là tớ kiểm tra luôn định dạng của nó có
phải là một địa chỉ email hay không trước khi áp dụng.
Sau khi chọn tên và email xong (tất nhiên là sau khi tớ đã kiểm tra là chúng hợp lệ),
người dùng có thể nhấn nút tạo tài khoản - và lần này tớ cũng sử dụng luôn Ajax để
thực hiện việc này (minh họa khả năng thay đổi trực tiếp vào cơ sở dữ liệu). Để ý là
bạn hoàn toàn không phải rời khỏi trang đăng ký trong bất kỳ giai đoạn nào. Tất cả xảy
ra liền mạch và nhanh chóng.
Cũng hy vọng bạn sẽ để ý chi tiết sau: mặc dù đây là một ví dụ minh họa công nghệ
Ajax, tớ cũng muốn minh họa tầm quan trọng của cách thức bạn tương tác với người
dùng. Để ý khi bạn đưa chuột vào một ô nào đó (ô đó sẽ sáng lên cho biết những gì
bạn gõ sẽ là vào ô đó), khi có thông báo lỗi (ô bị lỗi sẽ chuyển sang màu đỏ và bạn tự
động được chuyển ngược về ô đó để sửa) hay khi dữ liệucủa bạn là hợp lệ (ô chuyển
sang màu xanh da trời).
Thêm một bước nữa, tớ đã thiết kế để một khi dữ liệu còn chưa hoàn tất (chưa có đủ
tên và email, hoặc tên hay email bị trùng) thì bạn sẽ không thể gửi đơn đi được (nút
Submit bị vô hiệu hóa). Chỉ là những ứng dụng rất nhỏ và chi tiết nhưng nó giúp cho
ứng dụng của bạn dễ sử dụng hơn rất nhiều.
Bạn sẽ tìm thấy mã nguồn cũng như hướng dẫn từng bước áp dụng công nghệ này tại
trang ví dụ.
AJAX –TươnglaicủaWeb2.0
collection by traibingo
2
KẾT LUẬN
Chỉ mới xuất hiện trong một thời gian ngắn nhưng công nghệ Ajax đã tỏ ra rất hứa hẹn,
thậm chí đến nay người ta vẫn chưa khám phá ra hết những gì công nghệ này có thể
làm được.
Bạn có từng tự "trách" là tại sao bạn không được sinh vào đúng thời điểm khi mà các
công nghệ chỉ mới ở giai đoạn đầu và chưa có phát minh nào cả để bạn có thể là người
phát mình ra chúng (đôi khi thấy nhiều thứ đơn giản đến thế - cứ như "biếu không" ;))?
Nếu vậy thì đây chính là cơ hội để bạn tạo ra dấu ấn của riêng mình: công nghệ Ajax
còn rất nhiều điều chưa được khám phá và bạn đang có cùng điểm xuất phát như
nhiều người khác…
Hoặc nếu ngay cả bạn không có "ham muốn" được nổi tiếng qua các phát minh thì
công nghệ Ajax vẫn đáng để bạn bỏ thời gian ra nghiên cứu bởi nó sẽ giúp ích rất
nhiều cho những sản phẩm sau này của bạn.
CHÚ Ý:
Bài viết có sử dụng thông tin tham khảo từ các bài viết (tiếng Anh):
Ajax: A New Approach to Web Applications (AdaptivePath)
XMLHttpRequest Usability Guidelines
Và các thông tin chung tổng hợp từ:
AjaxMatters.com
Wikipedia : Ajax
Web 2.0 có an toàn?
AJAX –TươnglaicủaWeb2.0
collection by traibingo
3
Với việc ngày càng có nhiều dữ liệu quan trọng được lưu lên web qua các ứng dụng
Web 2.0 như Google Calendar và Zoho Office Suite thì những lỗ hổng bảo mật sẽ gây
tác hại rất lớn.
Khi người dùng càng ngày càng lưu nhiều dữ liệu lên mạng thì tin tặc cũng tăng
cường tìm cách đánh phá các trang web dịch vụ mới. Các chuyên gia cho biết
vấn đề này đang là điểm nóng bảo mật.
Thực sự Samy Kamkar chỉ muốn tạo ấn tượng với mấy cô gái nhưng vô tình tạo ra một
cột mốc lịch sử tấn công web.
Kamkar là kẻ tạo ra con sâu Web2.0 đầu tiên, một con bọ hiểm độc mà tường lửa
không chặn được và đã buộc trang web MySpace.com phải tạm thời đóng cửa. Sâu
Samy (lấy tên từ Samy Kamkar) là một trong số nhiều kiểu tấn công web thế hệ mới
đang nổi lên mà một số chuyên gia bảo mật sợ rằng chúng sẽ kéo chậm quá trình phát
triển Internet theo mô hình cộng tác dạng Web 2.0.
Kamkar tìm cách tháo bỏ những ràng buộc về tải nội dung của MySpace, mục đích của
Kamkar là muốn đánh bóng profile của mình khi hắn tìm thấy một lỗi cho phép điều
khiển trình duyệt của bất kỳ ai ghé thăm trang MySpace của hắn. Và rồi hắn đã tạo ra
một con sâu nền web có sức lan nhiễm nhanh nhất từ trước đến nay.
Chỉ trong vòng 20 giờ, con sâu này đã lan ra đến khoảng 1 triệu người dùng MySpace,
ép họ phải chọn Kamkar như là “anh hùng” của họ trong trang profile. News
Corporation – công ty chủ quản MySpace – phải tạm thời đóng cửa trang web để sửa
lỗi này và Kamkar đã bị toà án Los Angeles phán quyết 3 năm tù treo.
Vì là sâu Web 2.0, Samy đã đánh tín hiệu cho một cuộc rượt đuổi mới về bảo mật web.
Các con sâu khác trước đây như là MyDoom và Sobig tấn công liên tục vào hệ thống
và nhà quản trị phải mất nhiều ngày để khắc phục lỗi kỹ thuật hệ thống. Còn sâu của
Kamkar thì không làm gì hại đến máy tính người dùng MySpace nhưng nó đe doạ đến
dữ liệu trực tuyến của người dùng. Mặc dù người dùng MySpace bị nhiễm không thể
chạy bản sửa lỗi hoặc cập nhật phần mềm chống virus để giải quyết sự cố, nhưng một
khi MySpace sửa lỗi này trên hệ thống máy chủ thì có nghĩa là họ phải sửa trên quy mô
toàn cầu.
Hậu quả khó lường
Theo một số chuyên gia bảo mật, sâu Samy là một ví dụ cho loại chuỗi tác động dây
chuyền khó lường trước được và có thể bùng phát khi các nhà điều hành trang web
cho người dùng khả năng đóng góp nội dung lên trang web. Chúng ta mới thấy những
trục trặc ban đầu khi mà hiện nay, bảo mật cho các chương trình Web2.0 chỉ ở giai
đoạn thử nghiệm.
AJAX –TươnglaicủaWeb2.0
collection by traibingo
4
Theo nhiều chuyên gia, nếu không “mạnh tay” thay đổi cách trình duyệt tương tác với
web thì vấn đề bảo mật Web2.0 sẽ chỉ đi theo hướng tệ hơn. Và với việc ngày càng có
nhiều dữ liệu quan trọng được lưu lên web qua các ứng dụng Web 2.0 như Google
Calendar và Zoho Office Suite thì những lỗ hổng bảo mật này sẽ gây tác hại rất nhiều.
Hiện thời, có hai loại tấn công web gây “nhức đầu” cho các nhà nghiên cứu bảo mật:
tấn công mã cross-site và giả yêu cầu cross-site.
Tấn công mã cross-site có nhiều kiểu khác nhau nhưng kết quả chỉ là một: kẻ tấn công
tìm cách tạo đoạn mã không hợp lệ chạy bên trong
trình duyệt của nạn nhân.
Các trang web cho người dùng khả năng đóng góp
nội dung lên thường sử dụng phần mềm lọc để tránh
những đoạn mã không an toàn, ví dụ như trong
profile MySpace hoặc trang đấu giá eBay. Nhưng
trong trường hợp sâu Samy, Kamkar tìm cách lén lút
đưa JavaScript vượt qua bộ lọc của MySpace.com.
Một loại tấn công cross-site khác là trang web bị lừa
chạy những đoạn mã JavaScript kèm trong địa chỉ
URL của một trang web nào đó. Thông thường, nhà
thiết kế web khóa hoàn toàn các đoạn mã JavaScript
nhưng lỗi trong quá trình lập trình có thể lộ ra vết nứt.
Theo một chuyên gia, vì các trang web tích hợp các
thành phần mới cho đối tác và người dùng nên các
nhà quản trị lo lắng về bảo mật cho những thành phần liên kết đó cũng như bảo mật
cho chính trang webcủa họ. Bây giờ nhà quản trị phải canh chừng nhiều cửa hơn.
Nhiều dịch vụ trên nền web được xây dựng trước khi người ta nắm được đầy đủ các rủi
ro về bảo mật. Toàn bộ rủi ro về tấn công giả mạo yêu cầu cross-site trên các mạng nội
bộ bây giờ mới được kiểm tra.
Trong một tấn công giả mạo yêu cầu cross-site, kẻ tấn công lừa trang web nghĩ rằng
trang web đó đang gửi và nhận dữ liệu từ một người dùng đang log on vào trang.
Những loại tấn công như vậy có thể cho kẻ tấn công truy cập tự do đến bất kỳ trang
web nào mà nạn nhân chưa log off.
Nhiều trang web bảo vệ chống lại kiểu tấn công này bằng cách tự động log off tài khoản
người dùng sau vài phút người dùng không có tác động gì lên trang web, nhưng nếu kẻ
tấn công có thể lừa nạn nhân vào thăm một trang web độc hại chỉ vài phút sau khi log
on vào, ví dụ như trang web ngân hàng, thì kẻ xấu theo lý thuyết có thể hốt sạch tài
khoản ngân hàng của nạn nhân.
Tấn công giả mạo yêu cầu cross-site khó có thể lây nhiễm trong bất kỳ kiểu lan truyền
Jeremiah Grossman, trưởng
phòng kỹ thuật của WhiteHat
Security tin rằng tấn công giả
mạo yêu cầu cross-site sẽ là
điểm nóng trong cuộc chiến bảo
mật 10 năm tới.
AJAX –TươnglaicủaWeb2.0
collection by traibingo
5
nào, nhưng nếu định sẵn mục tiêu thì rất nhiều trang web có thể lọt vào tầm ngắm của
chúng. Theo một harker mũ trắng, giả mạo yêu cầu cross-site sẽ là cuộc chiến cam go
nhất trong 10 năm tới.
Lỗ hổng chết người
Theo ông Hansen - điều hành trang web Sectheory.com có một diễn đàn bàn về các
kiểu tấn công web mới nhất - cho biết đơn giản là máy tính cá nhân và máy chủ web
không được thiết kế để có thể hoạt động chung một cách an toàn. Và khi Web2.0 cho
những cỗ máy này khả năng mới thì lại bắt đầu nảy sinh những chuyện đáng lo. Vì theo
ông, nguyên nhân chính nằm ở cách thức trình duyệt hoạt động.
Cụ thể là Google Desktop bởi vì với loại dịch vụ này, các lỗ hổng trên web có thể tác
động rất nhiều đến desktop: “Nếu bạn cho một trang web truy cập vào ổ cứng để chỉnh
sửa, thay đổi mọi thứ để tích hợp thứ gì hay làm chuyện gì thì bạn đang phụ thuộc vào
tính bảo mật của trang web đó”, ông Hansen nói.
Các trang web như MySpace và eBay phải đương đầu với vấn đề này hàng ngày,
nhưng nếu tham vọng của Google về một desktop phong phú và có tích hợp web trở
thành hiện thực thì bảo mật Web2.0 sẽ là vấn đề cho cả người dùng doanh nghiệp.
Theo Hansen, từ trước đến nay Google không có “nhiều kinh nghiệm” trong việc nắm
được những vấn đề như thế này.
Mặc dù có vài chuyên gia bất đồng với Hansen, cho rằng Google đã làm được chuyện
đáng khâm phục là giữ cho trang webcủa hãng không có lỗ hổng, xa hơn nữa là vấn
đề bảo mật web đúng nghĩa không thuộc phạm vi quản lý của các trang web như là của
Google.
Theo một chuyên gia khác thì không có một mô hình bảo mật trình duyệt nào cả, vấn
đề là Google đang chơi theo luật mà Netscape đã lập nên cách đây một thập kỷ. Ông
gọi mô hình chia sẻ các chương trình nhỏ của người dùng – gọi là widget –củaweb
2.0 là “hoàn toàn điên khùng” nếu xét về khía cạnh bảo mật.
Giữ an toàn
Các lỗi về mã web vẫn cực kỳ phổ biến nhưng các nhà điều hành web gần đây mới bắt
đầu sửa được tận gốc rễ.
Một chuyên gia bảo mật cho rằng điều lạ kỳ là không có nhiều nghiên cứu theo đề tài
“Làm thế nào để xây dựng một trang web thực tế và cách nào tối ưu để một công ty tự
bảo vệ mình? Nếu có một tập các nguyên tắc tốt nhất thì tôi cam đoan là không có
nhiều người xây dựng trang web biết chúng là gì.”
Và điều tự nhiên của lỗi Web2.0 là người dùng cá nhân khó có thể tránh được. Bạn có
thể tránh được các cuộc tấn công giả mạo yêu cầu cross-site bằng cách sử dụng một
trình duyệt khác để truy cập vào các trang Web2.0 là nơi chứa thông tin nhạy cảm của
AJAX –TươnglaicủaWeb2.0
collection by traibingo
6
bạn. Ví dụ nếu bạn đang lướt web với Firefox thì bạn có thể log on vào trang web ngân
hàng bằng trình duyệt Opera. Bất kỳ trang web nào mà bạn duyệt bằng Firefox sẽ
không có truy cập được đến cookie của Opera, nơi chứa giữ thông tin log in của bạn.
Tấn công cross-site có thể khó tránh hơn. Một điều luôn luôn đúng là phải cẩn thận
trong từng đường link mà bạn nhấn vào nhưng điều này lại không thể bảo vệ bạn trước
mối đe dọa như sâu Samy, nó nhiễm vào một trang mà bạn tin tưởng. Khi bảo mật Web
2.0 ngày càng lộ ra nhiều kẽ hở thì có thể bạn sẽ nghĩ lại sẽ đưa bao nhiêu thông tin
nhạy cảm của mình lên lưu trữ trực tuyến.
Cuối cùng, một chuyên gia nghĩ rằng các chuẩn bảo mật web như WS cũng đã đạt
được một số thành tựu trong việc giải quyết vấn đề bảo mật web nhưng còn nhiều
chuẩn web cơ bản như là JavaScript và HTTP cần phải xem lại. Cần phải đánh giá lại
những chuẩn đó và nên viết lại một vài chuẩn trong số này để chúng an toàn hơn. Nếu
đủ một số công ty nào đó đứng lên nói là có rắc rối ở đây thì ngành công nghiệp sẽ bắt
đầu vào cuộc.
ỨNG DỤNG WEB CHẠY OFFLINE
Nếu bạn từng sử dụng Google Docs & Spreadsheets thì hẳn
quen thuộc với các tính năng tuyệt vời của dịch vụ này. Hiển
nhiên bạn cũng quen thuộc với lỗi khá phổ biến
“Disconnected”, buộc bạn phải bỏ đi những gì vừa làm hoặc
chuyển tàiliệu đó sang dạng chỉ đọc khi trình duyệt mất kết
nối với Google. Đó là điểm yếu chết người của các ứng dụng
web có giao diện phong phú giống như ứng dụng desktop
hiện nay: chúng yêu cầu kết nối Internet liên tục. Nếu có bất
cứ tác động nào đến kết nối đó thì bạn có thể mất đồng bộ và
mất dữ liệu, hoặc tác hại ít nhất là bạn không thể lấy được dữ
liệu của mình.
Tuy nhiên, các nhà phát triển đang làm việc để giải quyết khó
khăn này, sử dụng đệm thông minh để xây dựng ứng dụng có
thể chạy offline cho ứng dụng web và trình duyệt của họ.
Phiên bản desktop mới của bộ phần mềm văn phòng dựa trên
trình duyệt của Zimbra (zimbra.com) có thể đệm dữ liệu e-
mail và lịch làm việc của bạn, cởi trói cho các ứng dụng
Zimbra khỏi ràng buộc kết nối Internet. Và một chọn lựa khác
đang còn trong giai đoạn xây dựng là của Scrybe
(iscrybe.com) hứa hẹn một ứng dụng web với khả năng lịch
và các chức năng khác sẽ chạy tốt ngay cả khi bạn kích hoạt
trình điều khiển ở chế độ offline.
Thậm chí Mozilla.org còn tiến xa hơn, xây dựng bộ đệm
offline trong Firefox 3 (xem find.pcworld.com/57345), sẽ xuất
hiện bản beta vào mùa hè này. Bất kỳ trang web nào cũng có
thể tận dụng tính năng này mặc dù các ứng dụng trực tuyến
cần phải cập nhật để tận dụng được nó.
FineTune
chạy không
cần trình
duyệt
AJAX –TươnglaicủaWeb2.0
collection by traibingo
7
Trong khi đệm dữ liệu có thể là giải pháp giúp ứng dụng web
thoát khỏi việc liên tục duy trì kết nối thì có một công nghệ
đang đình đám khác nhắm đến việc giải phóng chúng khỏi
trình duyệt.
Với những hứa hẹn từ Java của Sun, Adobe cho biết nền Apollo mới của
mình (hiện đã có bản alpha tại find.pcworld.com/57346) cho phép các nhà
phát triển viết ứng dụng sử dụng các công cụ lập trình trực tuyến như Flash
và Ajax chạy trên desktop mà không cần chạy với trình duyệt. Theo hãng,
các chương trình Apollo sẽ chạy trên cả Linux, Mac OS và Windows giống
như các ứng dụng web.
Chương trình nghe nhạc FineTune (finetune.com) là một mẫu ví dụ đầu tiên
của loại ứng dụng độc lập với trình duyệt. Bạn có thể nhúng chương trình
nhạc dựa trên danh sách nhạc của nó vào trong blog hoặc lên trang web,
hoặc bạn có thể tải về bản Apollo và chạy riêng chương trình đó.
PC World Mỹ 07/2007
.
Wikipedia : Ajax
Web 2. 0 có an toàn?
AJAX – Tương lai của Web 2. 0
collection by traibingo
3
Với việc ngày càng có nhiều dữ liệu quan trọng. trang Web 2. 0 là nơi chứa thông tin nhạy cảm của
AJAX – Tương lai của Web 2. 0
collection by traibingo
6
bạn. Ví dụ nếu bạn đang lướt web với