AJAX – Tương lai của Web 2.0 part 4

Chia sẻ: Mr Yukogaru | Ngày: | Loại File: PDF | Số trang:7

0
84
lượt xem
46
download

AJAX – Tương lai của Web 2.0 part 4

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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...

Chủ đề:
Lưu

Nội dung Text: AJAX – Tương lai của Web 2.0 part 4

  1. AJAX – Tương lai của Web 2.0 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ệu củ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ụ. collection by traibingo 1
  2. AJAX – Tương lai của Web 2.0 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? collection by traibingo 2
  3. AJAX – Tương lai của Web 2.0 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 Web 2.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 Web 2.0 chỉ ở giai đoạn thử nghiệm. collection by traibingo 3
  4. AJAX – Tương lai của Web 2.0 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 Web 2.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à Jeremiah Grossman, trưởng thiết kế web khóa hoàn toàn các đoạn mã JavaScript phòng kỹ thuật của WhiteHat nhưng lỗi trong quá trình lập trình có thể lộ ra vết nứt. Security tin rằng tấn công giả mạo yêu cầu cross-site sẽ là Theo một chuyên gia, vì các trang web tích hợp các điểm nóng trong cuộc chiến bảo thành phần mới cho đối tác và người dùng nên các mật 10 năm tới. 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 web củ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 collection by traibingo 4
  5. AJAX – Tương lai của Web 2.0 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 Web 2.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 Web 2.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 web củ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ủa web 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 Web 2.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 Web 2.0 là nơi chứa thông tin nhạy cảm của collection by traibingo 5
  6. AJAX – Tương lai của Web 2.0 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ài liệ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 FineTune (iscrybe.com) hứa hẹn một ứng dụng web với khả năng lịch chạy không và các chức năng khác sẽ chạy tốt ngay cả khi bạn kích hoạt cần trình trình điều khiển ở chế độ offline. duyệt 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ó. collection by traibingo 6
  7. AJAX – Tương lai của Web 2.0 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 collection by traibingo 7
Đồng bộ tài khoản