Giới thiệu công nghệ lập trình web ASP.

NET, Công nghệ XML, công nghệ lập trình Webservice trên môi trường .NET 1. Giới thiệu công nghệ ASP.NET ASP.Net không phải là một ngôn ngữ lập trình cụ thể, có thể gọi đó là một cách thức lập trình web trên môi trường .NET. ASP.NET là sự kết hợp của HTML và một ngôn ngữ lập trình server cụ thể nào đó. Trên môi trường .NET hỗ trợ rất nhiều ngôn ngữ khác nhau, nhưng phổ biến nhất vẫn là C# và VB.NET. File ASP.NET có đuôi mở rộng là .aspx. Ứng với mỗi file .aspx sẽ có 1 file .CS( hoặc .vb,…). • Code Behind: Điểm khác biệt lớn nhất của ASP.NET so với ASP chính là thuật ngữ “Code Behind”. Trong các ngôn ngữ lập trình web khác như PHP, JSP, ASP thì mã HTML và mã code được viết chung trong cùng một file, điều đó gây khó khăn rất lớn cho người lập trình trong việc quản lý mã nguồn. Với ASP.NET thì trang mã HTML và mã xử lý tại server được tách riêng biệt ra thành 2 file khác nhau. File .aspx chính là file để design giao diện, bố trí các control trên trang web, còn trang .cs ( hoặc .vb,….) chính là nơi viết code xử lí tại server. Với cách tách riêng biệt như vậy giúp ích rất nhiều cho lập trình viên trong việc quản lý mã nguồn. Giúp lập trình viên thao tác trên file HTML mà không ảnh hưởng đến logic của trang. • Lập trình hướng đối tượng, Web control, Validate control, user control, custom control:  Ngôn ngữ server trên ASP.NET là C#, VB.NET. Đó là 2 ngôn ngữ lập trình hướng đối tượng phổ biến nhất hiện nay( cùng với ngôn ngữ Java). Với việc áp dụng lập trình hướng đối tượng bạn sẽ dễ dàng tái sử dụng mã nguồn trong project của mình. Nếu bạn đã quen với việc lập trình window Application trên môi trường .NET thì bạn chuyển qua lập trình ASP.NET sẽ dễ dàng hơn so với ASP hay PHP. Code xử lí sẽ không khác nhiều so với lập trình trên môi trường window Application. Hơn nữa ASP.NET hỗ trợ rất nhiều control cho người dùng, có thể nói là mọi thứ bạn cần đều có sẵn. User control : là control do người dùng tự định nghĩa có đuôi mở rộng là .ascx. User control là kết hợp của những control có sẵn tạo thành 1 control mới Custom control: là control kế thừa từ một control có sẵn và phát triển thêm một số chức năng mới nào đó theo ý của người lập trình. Để có thể tạo được 1 custom control người lập trình cần

footer.master. tương tự như trang http://www.NET mà ADO không có như sau: ADO.google. ADO có tính linh hoạt. Microsoft đã có ADO là một bộ thư viện để xử lý các thao tác liên quan đến dữ liệu.NET khái niệm frame rất ít khi được sử dụng. sau đó ngắt kết nối với database rồi mới thực hiện các thao tác cần thiết. lúc đó trang . Mục đích của Master Page là thay thế cho kĩ thuật frame trên ngôn ngữ ASP. • phải hiểu rõ lập trình hướng đối tượng và cách thức xây dựng sự kiện cho control đó ( khái niệm delegate) Validate Control: là những control ASP.NET hỗ trợ sẵn cho lập trình viên có thể tạo ra những trang web cho chép người dùng cuối cá nhân hóa giao diện của mình.NET được thiết kế với dạng dữ liệu “ngắt kết nối”. nghĩa là chúng ta có thể lấy cả một cấu trúc phức tạp của dữ liệu từ database.NET được thiết kế hoàn toàn hướng đối tượng. ADO.0.NET là một thế hệ tiếp theo của ADO. Master page là nơi lập trình viên sẽ bố trí các control chung . Master page: có đuôi mở rộng là .com/ig.NET kế thừa tất cả những ưu điểm của ADO.NET có một diện mạo khác hẳn so với tiền thân của nó. ADO. Một vài đặc điểm nổi bật của ADO.aspx) lập trình viên phải chỉ rõ Master Page là trang nào. menu. nó được xem là “bộ thư viện lớp” chịu trách nhiệm xử lý dữ liệu trong ngôn ngữ MS. Lập trình Cơ sở dữ liệu với ADO.NET Framework. có tính chất cố định . Lúc này lập trình viên chỉ cần thay đổi trong trang Master Page.NET được thiết kế hoàn toàn dựa ADO. không thay đổi qua các trang khác nhau thông thường là header. Master Page giúp lập trình viên quản lý mã nguồn tốt hơn và nhất là sẽ dễ dàng thay đổi khi yêu cầu về giao diện thay đổi.NET ADO. Đây là một sự tiến bộ về mặt thiết kế bởi vì thiết kế ADO trước đây luôn cần duy trì một kết nối trong quá trình thao tác dữ liệu Trước ADO. đồng thời với ý tưởng thiết kế hoàn toàn mới ADO.NET. dễ sử dụng và được tích hợp trong các ngôn ngữ như Visual Basic. do đó trong ASP.NET hỗ trợ để kiểm tra tính hợp lệ của dữ liệu tại client Webpart: Webpart là công nghệ .aspx này sẽ kế thừa tất cả giao diện và code xử lý của trang Master page này.NET là một phần của . vào XML • • . các trang khác kế thừa từ trang Master page này sẽ tự thay đổi theo.… Các trang khác ( đuôi . Có thể coi ADO. ASP 3.NET.

rút trích dữ liệu từ database khi đã thiết lập kết nối tới dữ liệu và trả về kết quả.World Wide Web Consortium. Và đó chính là DataAdapter. Vì DataAdpater khi thao tác với Database vẫn phải duy trì kết nối nên nó được liệt kê vào dạng “kết nối”. nhẹ không chiếm bộ nhớ.NET  Connection: Đối tượng quản lý đóng /mở kết nối tới Database. Giới thiệu về XML • XML là viết tắt từ Extensible Markup Language (ngôn ngữ đánh dấu mở rộng). nó là cầu nối của database và dataset (dataset là đối tượng ngắt kết nối).Các đối tượng chính trong ADO. bởi vì đối tượng “ngắt kết nối” dataset không thể liên lạc trực tiếp với database nên nó cần một đối tượng trung gian lấy dữ liệu từ database cho nó.NET. Tương tự như Connection. Mục đích chính của XML là đơn giản hóa việc chia sẻ dữ liệu giữa các hệ thống khác nhau. Command cũng có 2 dạng tuỳ theo nguồn dữ liệu là gì (OleDb hay SQL Server) đó là OleDbCommand và SqlCommand DataReader : Đối tượng xử lý đọc dữ liệu. Cũng có 2 dạng tùy theo dữ liệu nguồn : OleDbDataReader và SqlDataReader. Phù hợp với ứng dụng web vì xử lý nhanh. nhưng bản chất là phục vụ cho việc “ngắt kết nối   2. đặc biệt là các hệ thống được kết nối với Internet • • XML là tập con của SGML . được thiết kế phù hợp cho các ứng dụng web. . Chỉ Xử lý 1 dòng dữ liệu tại một thời điểm. Các tiêu chuẩn của XML qui định bởi W3C .Có 2 dạng Connection tuỳ theo nguồn dữ liệu là gì (OleDb hay SQL Server) đó là OleDbConnection và SqlConnection  Command : Đối tượng thực hiện các câu lệnh tương tác truy vấn.Standard Generalized Markup Language. Dữ liệu của đối tượng được tạo ra khi đối tượng Command thực hiện câu lệnh ExecuteReader() DataAdapter : Đây là đối tượng rất quan trọng của ADO.

v. còn XML dùng để mô tả dữ liệu( cũng có thể xem XML là 1 dạng Cơ sở dữ liệu). HTML không cho phép người sử dụng định nghĩa thẻ. Tags trong XML thì case sensitive. Các nhà phát triển dùng DTD để chắc chắn rằng họ không tạo một .• Tập tin XML là tập tin văn bản thuần túy. tức là opening Tag và closing Tag phải được đánh vần y như nhau..  Mỗi opening Tag phải có một closing Tag giống như nó. DTD là viết tắt của từ Document Type Definetion. DTD chỉ rõ những loại thẻ đánh dấu nào được sử dụng trong tài liệu XML và sự sắp xếp hợp lệ của những thẻ này. • XML là 1 ngôn ngữ đánh dấu giống như HTML.v. Attribute . Ngược lại. chứa bên trong để parser có thể nhận diện và phân biệt mọi thứ. Attribute value trong XML phải được gói giữa một cặp ngoặc kép hay một cặp apostrophe • Một tài liệu XML được coi là valid nếu nó well-form và cách bố trí sắp xếp các thẻ trong nó phải phù hợp với phần đặc tả DTD. • XML không định nghĩa các thẻ. • Một tài liệu XML well-formed là một tài liệu XML thích hợp cho parser chế biến. chữ hoa hay chữ thường. Tức là XML tuân thủ các luật lệ về Tag. HTML là cho biết phải hiển thị thông tin lên web browser như thế nào. Do đó XML không phụ thuộc vào môi trường nào. gọi là Document Element. nhưng XML và HTML khác nhau về cách dùng và mục đích sử dụng.   Mỗi Child Element phải nằm trọn bên trong Element cha của nó. người dùng có trách nhiệm định nghĩa các thẻ dùng trong XML. mà phải tuân thủ một tập thẻ đã được định nghĩa trước. value . nó chứa tất cả các Elements khác trong tài liệu. Element. Một tài liệu XML well-formed cần phải thỏa mãn các điều kiện sau:  Phải có một nút gốc (root) duy nhất.

Ví dụ <?xml version="1.0" encoding="utf-8" ?> <!DOCTYPE note [ <!ELEMENT note (to. • XML Declaration: là dòng đầu tiên của mỗi file XML. DTD có thể khai báo bên trong tài liệu XML hoặc là khai báo thành một tập tin bên ngoài tài liệu XML.from. kết thúc bằng “?>”.cấu trúc XML không hợp lệ.heading. Dùng để cung cấp thông tin cho parser. DOM được dùng để đọc và trình bày nội dung của file XML. Bắt buộc phải có thuộc tính version. Phiên bản đặc tả của XML parser phải giống với phiên bản đặc tả của tài liệu XML • Mô hình DOM trong XML: DOM là viết tắt của từ Document Object Model.0' encoding='UTF-16' standalone='yes'?> Quy ước: Bắt đầu bằng “<?xml”. Nếu sử dụng cả 3 thuộc tính thì phải theo thứ tự như ở ví dụ trên.body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)> ]> <note> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note> Trên đây là 1 tài liệu XML valid. Tùy chọn đối với 2 thuộc tính encoding. Ví dụ: <?xml version='1. standalone. Thứ tự và cách bố trí các thẻ tuân theo phần mô tả DTD. . DTD định nghĩa một cấu trúc tài liệu với một danh sách những element hợp lệ. Nếu bạn thay đổi thứ tự các tab hoặc bỏ đi hoặc thêm vào tab không có trong DTD thì tài liệu này không được xem là valid.

Element.DOM sẽ đọc nội dung của file XML và tổ chức thành 1 cây. Text được xem là Node Ví dụ: <?xml version="1. DOM xem tài liệu XML như 1 cây có cấu trúc.0" > <name> <first>Nguyen</first> <middle>Van</middle> <last>Ty</last> </name> Khi chuyển qua mô hình DOM . Do DOM sẽ load toàn bộ nội dung file XML vào bộ nhớ nên sẽ rất tốn bộ nhớ nếu file XML lớn. Node lá là node không có node con Siblings là những node anh em cùng cấp với nhau( cùng node cha) Duyệt các node trong file XML . nhưng bù lại tốc độ truy xuất sẽ nhanh hơn so với dung XML Reader. DOM giúp truy xuất nhanh và trực tiếp đến 1 nút. sẽ được cây như sau: Name first Nguyen middle Van last Ty Node cao nhất gọi là root. Mỗi node ( trừ root ) đều có 1 node cha Một node sẽ có nhiều node con. Attribute.

NET .Book parentNod e firstChil d Author nextSibling Title previousSibling Publisher lastChil d PublishDate 3. Giới thiệu về kĩ thuật lập trình Webservice trên môi trường .

Dùng để xác định tài liệu XML này là 1 SOAP Message Webservice .SOAP là giao thức dựa trên XML dùng để truyền và nhận dữ liệu trên web (SOAP là một giao thức dùng để truy cập Webservice) Độc lập nền Độc lập ngôn ngữ Dựa trên XML Một thông điệp SOAP là một tài liệu XML chuẩn chứa các phần tử sau đây: -An Envelope element that identifies the XML document as a SOAP message -Header chứa thông tin header -Body chứa mô tả về các tham số để gọi webservice và dữ liệu trả về từ webservice Envelope là root của SOAP Message.

cách gọi và cách nhận dữ liệu trả về từ Web Service .Web service Provider xay dựng và publish webservice lên cho “Web service Registry” Web Service Client sẽ lên “Web service Register” tìm những web service mà mình cần Web service sẽ cung cấp tài liệu mô tả Webservice cho Webservice Client Web service Client sẽ gọi chạy Web service WSDL viết tắt của từ Web Service Description Language( ngôn ngữ mô tả dịch vụ Web) là một tài liệu XML mô tả về web service .

2 Tập hợp các hàm liên kết động . 1 2 Tương tự như Dynamic Link Library (nhưng) 0 Không phụ thuộc nền (platform independent) .0 Web Service cóthể đượcmô tảnhư hàm được triển khai thôngqua Web và có thể được gọi từ các ứng dụng thông thường hoặcmột web service khác. 1 Truy xuất đơn giản (chỉ cần URL) .

Docs Message Format SOAP Encoding XML Transport HTTP.. Đặc biệt là đối với các ứng dụng web. webserver sẽ chạy ứng dụng và đó chính là nhiệm vụ của các chuyên gia bảo mật nhưng trên thực tế hầu hết các ứng dụng web bị tấn công là do lỗi của các lập . . XML Schema. FTP.NET Bảo mật luôn là một vấn đề quan trọng trong quá trình phát triển phần mềm.. SMTP) Làm thế nào để Client tìm kiếm các Web Service trên Internet ? Sercurity trong lập trình Web bằng ASP. hệ quản trị cơ sở dữ liệu. Web được truy cập từ mọi nơi nên dễ dàng trở thành mục tiêu của các cuộc tấn công. bảo mật nhằm giảm thiểu tối đa khả năng bị tấn công từ các tin tặc chỉ đơn thuần tập trung vào các vấn đề như chọn hệ điều hành. SMTP . 3 SOAP  Là giao thức được Web Service sử dụng để truyền dữ liệu qua Internet  SOAP = XML + một giao thức có thể hoạt động trên Internet (HTTP.Web Services Low-level Technologies Discovery UDDI. DISCO Description WSDL. Khi nói đến vấn đề bảo mật nhiều người vẫn nghĩ rằng việc bảo đảm an toàn.

SQL Injection là một kĩ thuật cho phép những kẻ tấn công thi hành các câu lệnh truy vấn SQL bất hợp pháp (không được người phát triển lường trước) bằng cách lợi dụng lỗ hổng trong việc kiểm tra dữ liệu nhập trong các ứng dụng web. thậm chí kẻ tấn công có thể chiếm được toàn quyền trên Cơ sở dữ liệu của ứng dụng. sử dụng câu lệnh INSERT. Sau khi người dùng nhập thông tin vào. hiệu chỉnh thông tin trong Cơ sở dữ liệu. sử dụng các storedprocedures a. Một con số đáng lo ngại về tình hình bảo mật website. sử dụng câu lện SELECT. hệ thống sẽ kiểm tra user name và password có hợp lệ hay không để quyết định cho phép hay từ chối thực hiện tiếp. Oracle. Theo số liệu ước tính của hãng bảo mật Phần Lan F-Secure thì số trang web bị hack bằng SQL Injection trong năm 2008 là 2 – 3 triệu. Oracle. DB2. SQL Injection là gì?: SQL Injection là một kĩ thuật cho phép những kẻ tấn công thi hành các câu lệnh truy vấn SQL bất hợp pháp (không được người phát triển lường trước) bằng cách lợi dụng lỗ hổng trong việc kiểm tra dữ liệu nhập trong các ứng dụng web. hiệu chỉnh thông tin trong Cơ sở dữ liệu. Dạng tấn công vượt qua kiểm tra đăng nhập: Trang đăng nhập là trang yêu cầu người dùng nhập vào user name và password. MySQL. Sysbase 1. DB2. Lỗi này thường xảy ra trên các ứng dụng web có dữ liệu được quản lí bằng các hệ quản trị cơ sở dữ liệu như SQL Server. Sysbase 2. Lỗi này thường xảy ra trên các ứng dụng web có dữ liệu được quản lí bằng các hệ quản trị cơ sở dữ liệu như SQL Server.trình viên phát triển hệ thống đó. Hậu quả của nó rất tai hại vì cho phép vì nó cho phép những kẻ tấn công có thể thực hiện các thao tác xóa. Kiểu tấn công như vậy gọi là SQL Injection. MySQL. Các dạng tấn công bằng SQL Injection Có bốn dạng thông thường bao gồm: vượt qua kiểm tra lúc đăng nhập (authorization bypass). Hậu quả của nó rất tai hại vì cho phép vì nó cho phép những kẻ tấn công có thể thực hiện các thao tác xóa. lại Ví dụ có form đăng nhập như sau: <form id="form1" runat="server"> Username:<asp:TextBox ID="txtUserName" runat="server"></asp:TextBox><br> Password:<asp:TextBox ID="txtPassword" runat="server" TextMode="Password"></asp:TextBox><br> <asp:Button ID="btnLogin" runat="server" Text="Login" /> </form> . thậm chí kẻ tấn công có thể chiếm được toàn quyền trên Cơ sở dữ liệu của ứng dụng.

sdfds d. Cách phòng tránh: 4. ngược lại sẽ không có record nào trả về. chỉ cần nhập vào ô User name là: 1 or 1=1 . sdfsd 3.95"> <input type="hidden" name="no_shipping" value="1"> <input type="submit" value="Buy Now"> </form> Neu dung sandbox thi action =’ https://www. Dạng tấn công sử dụng câu lệnh Select c. email của người bán Đây là tên của sản phẩm đó sẽ được hiển thị cho người sử dụng 0: Nhắc nhắc khách hàng nhập địa chỉ người hàng 1:khách hàng không nhập địa chỉ . phai có giá trị là _xclick Tham số bắt buộc.com/cgi-bin/webscr’. Lúc đó câu truy vấn sẽ như sau: Select * from User where UserName=1 or 1=1 and Password =1 Đây là câu truy vấn hợp lệ.Giả sử người dùng nhập vào Username là: user và pasword là 1 thì ta sẽ truy vấn cơ sở dữ liệu như sau Select * from User where UserName=user and Password =1 Nếu người dùng nhập đúng User name và Password thì câu truy vấn trên sẽ trả về tập record thông tin người dùng thỏa mãn yêu cầu.sandbox. sdf 5. Paramater Cmd Business item_name item_number no_shipping Description Thuộc tính bắt buộc. Payment Gateway -Giá các mặt hàng phải có 2 chữ số lẻ <form method="post" action= "https://www. Lập trình viên sẽ căn cứ vào số lượng record trả về để quyết định xem người dùng này hợp lệ hay không? Nếu không có User name và password hợp lệ làm cách nào để hacker vượt qua trang login này? Rất đơn giản . b.paypal. người dùng sẽ đăng nhập được vào hệ thống.com/cgibin/webscr"> <input type="hidden" name="cmd" value="_xclick"> <input type="hidden" name="business" value="my@email. ô password là 1 .com"> <input type="hidden" name="item_name" value="Item name"> <input type="hidden" name="item_number" value="1234"> <input type="hidden" name="amount" value="19.paypal.

.aspx 7. Sau khi đăng kí xong người dùng đó sẽ có 1 website riêng cho mình . Nêu không nhập gì thì sau khi thanh toàn người dùng sẽ đứng trên Paypal IPN là một công nghệ của Paypal cho phép tự động thanh toán 6.gửi hàng 2: Khách hàng phải nhập địa chỉ gửi hàng Return Đây la trang trở về sau khi thanh toan thành công. asdsd 8. link của website này tuân theo quy tắc sau: http://www. chúng em sẽ xây dựng 1 website ( gọi là WebSaas) có các chức năng như sau: Cho phép 1 cá nhân hay 1 tổ chức nào đó ( gọi tắt là người dùng) đăng kí trên hệ thống WebSaas. Giới thiệu ứng dụng: Trong phạm vi của luận văn này.WebSaas/username/Default.

Sign up to vote on this title
UsefulNot useful