Thứ Hai, 19 tháng 8, 2013

Học php cơ bản tại từ liêm hà nội - Bảo mật cho website của bạn 4

Bảo mật website là phải chú ý đến từng phần tử của trang web mà kẻ tấn công có thể lợi dụng thông qua giao diện của ứng dụng. Điểm yếu hay bị lợi dụng nhất đó là bao gồm form và các URL, nên việc bảo mật web có nghĩa là kiểm tra tính hợp lệ của form và link.

Ở bài này, blog học lập trình php cơ bản tại từ liêm hà nội sẽ giới thiệu loạt bài tiếp theo về bảo mật website của bạn trên môi trường internet.

Bị Cross site scripting từ những tiện ích javascript và do không kiểm soát nhập / xuất

 

Cross site scripting (XSS) là dạng thâm nhập phổ biến nhất trên web. Bất cứ các biến cố (event) nào đươc javascript tạo ra (ví dụ như onClick, onMouseOut, onLoad….) đều có thể dùng để phát động một hàm của javascript nhằm đánh cắp xuất truy cập hoặc thậm chí trọn bộ HTTP header. Từ những thông tin này, tin tặc có thể truy cập vào mục tiêu với chủ quyền của người bị đánh cắp xuất truy cập và từ đó có thể mở rộng biên độ tấn công.
Rất nhiều người xem nhẹ dạng tấn công này do không hiểu rõ tính chất của nó hoặc do cố tình làm ngơ. Tương tự như SQL Injection, dạng tấn công XSS này nằm trên tầng web và các permutation đều xoay quanh phương thức encoding URL cho các đường dẫn (href link). Quản lý trang web nên xét kỹ và kiện toàn những điểm sau:

- Trên dịch vụ web, cookie cho session nên dược set ở dạng httpOnly

Hầu hết các ngôn ngữ lập trình web đều có hàm riêng biệt để set response hoặc set Cookie và bằng phương tiện này, httpOnly được ấn định. Ngày nay, đa số các trình duyệt đều hỗ trợ “httpOnly” và đây là biện pháp hữu hiệu để ngăn cản tình trạng đánh cắp cookie và session. Lập trình viên cũng cần chú ý chuyển đổi trọn bộ HTML thành “html entities” thay vì để nguyên các HTML tag như <>. Đặc biệt chú ý những khu vực “href” nhằm phòng chống tình trạng XSS. Nếu không nắm vững nguyên tắc, nên tìm vài tài liệu đặc thù về vấn đề này để tham khảo. OWASP www.owasp.org) là trang web có đầy đủ các thông tin về khía cạnh này.
Nếu người dùng có cơ hội nhập dữ liệu (ví dụ như diễn đàn cho phép thành viên gởi bài hoặc blog cho phép comment) thì ngay nơi nhập dữ liệu (đường vào) phải được kiểm soát chặt chẽ để chuyển hoá trọn bộ thông tin thành “html entities” trước khi nhập vào CSDL.

- Trên trình duyệt, người dùng nên cài những tiện ích như “NoScript” nhằm cản lọc và giới hạn các javascript được thực thi ngầm

Người dùng cũng có thể sử dụng 2 trình duyệt song song với nhau. Một trình duyệt dùng để đăng nhập hẳn hòi, một trình duyệt hoàn toàn không đăng nhập. Tất cả các đường dẫn nên copy và dán vào trình duyệt không đăng nhập để xem. Bằng cách này sẽ giảm thiểu tình trạng bị XSS.

Người dùng cũng nên tập thói quen xác định đường dẫn có chứa gì khả nghi hay không. Nếu đường dẫn trỏ đến một trang web khác (không phải trang web mình tin cậy và thường duyệt), nên cẩn thận xem xét trước khi bấm. Có những đường dẫn được encoded theo dạng base64 hoặc vài combination nào đó nhằm che giấu nội dung mờ ám, nên tránh xa những đường dẫn ấy bởi vì các trang web hợp lệ và thông thường không sử dụng những thủ thuât ấy. Đặc biệt đối với những người làm công tác quản lý, tuyệt đối không nên đăng nhập vào một account quan trọng và tiếp tục duyệt web. Chỉ nên đăng nhập vào account quan trọng, hoàn tất công việc và thoát ra.\

- Tạo một máy ảo

Cách an toàn nhất có lẽ là tạo một máy ảo (vmware player hoặc virtualbox) và cài một hệ điều hành hoàn toàn sạch có cài antivirus và các ứng dụng chống malware. Trên máy ảo này chỉ dùng để đăng nhập vào những account quản lý quan trọng. Thực hiện xong là thoát ra ngay. Tuyệt đối không dùng máy ảo ấy để duyệt web đại trà.
Các bạn xem các bài tiếp theo ở đây : http://hocphpcobancaugiayhn.blogspot.com/
Blog hướng dẫn cơ bản học php tại từ liêm hà nội cũng  xin chia sẻ một số link học php từ căn bản đến chuyến sâu cho các bạn sv hà nội quan tâm trang chia sẻ kiến thức về sqlPHP tại đây : http://daotaolaptrinh.edu.vn/tai-lieu-php.html
hoặc học tại trang blog hỗ trợ bài tập php cơ bản : http://baitaphocphpcoban.blogspot.com/
Chúc các bạn thành công !!

Thứ Sáu, 16 tháng 8, 2013

Hướng dẫn 1 : học php cơ bản tại từ liêm hà nội

 


Hướng dẫn này là hướng dẫn 1 tại từ liêm hà nội  chia sẻ cách học php cơ bản trong loạt bài gồm 2 phần "Học PHP cơ bản" dạy bạn cách sử dụng PHP thông qua việc xây dựng một ứng dụng tiến trình công việc đơn giản. Hướng dẫn này dẫn bạn qua việc học tạo một trang PHP cơ bản dùng các biểu mẫu HTML trình bày việc truy cập cơ sở dữ liệu.

Các điều kiện cần trước

Hướng dẫn này giả định bạn chưa có kinh nghiệm gì về PHP. Trong thực tế, trong khi để làm quen với các khái niệm HTML thật có ích cho bạn, thì không việc lập trình khác nào cần thiết cho hướng dẫn này.
Ai nên sử dụng những hướng dẫn này?
Nếu bạn là một lập trình viên, muốn học cách sử dụng PHP để xây dựng các ứng dụng trên nền Web php cơ sở, bắt đầu từ đây với Hướng dẫn 1 của một loạt bài hướng dẫn hai phần .
PHP là một ngôn ngữ dựa trên kịch bản dễ học, nhưng vẫn cho phép bạn xây dựng các ứng dụng phức tạp với chức năng mạnh. Hướng dẫn này dẫn bạn qua việc tạo một trang PHP cơ bản sử dụng các biểu mẫu HTML và trình bày việc truy cập cơ sở dữ liệu.
Hướng dẫn này bao gồm những phần sau đây
Tạo một trang cơ bản.
Các biến, các vòng lặp và các câu lệnh if-then.
Các hàm.
Kết nối đến cơ sở dữ liệu.
Sử dụng các tệp kèm theo (include).
Các công cụ.
Hướng dẫn này  của blog học php cơ bản tại hà đông hà nội dạy bạn qua việc xây dựng một ứng dụng tiến trình công việc căn bản với học PHP. Người dùng sẽ đăng ký một tài khoản, tải lên các tệp để phê duyệt, xem và tải về tệp đã được phê duyệt.  Hướng dẫn 2 sẽ nghiên cứu việc bảo vệ mật khẩu HTTP và các vấn đề liên quan đến php cơ bản.
Cuối bài cũng xin giới thiệu đến các bạn để có thể học hỏi thêm  tại trang chủ chia sẻ kiến thức php
http://daotaolaptrinh.edu.vn/
hoặc các bạn cũng có thể tìm hiểu thêm về bài tập php tại blog bài tập

Blog hướng dẫn php tại từ liêm hà nội cũng  xin chia sẻ một số link học php từ căn bản đến chuyến sâu cho các bạn sv hà nội quan tâm:
Tại ba đình hà nội 
http://hocphpcobanbadinhhn.blogspot.com/
Tại long biên hà nội : http://lophocphpcoban.blogspot.com/
Tại cầu giấy hà nộihttp://hocphpcobancaugiayhn.blogspot.com/
Chúc các bạn thành công !!

Thứ Ba, 13 tháng 8, 2013

Học php cơ bản từ liêm hà nôi - Jquery có thể làm những gì

 Hướng tới các thành phần trong lập trình website. Nếu không sử dụng jquery (thư viện JavaScript), bạn phải viết rất nhiều dòng code mới có thể đạt được mục tiêu là di chuyển trong cấu trúc cây (hay còn gọi là DOM = Document Object Model) của một tài liệu HTML và chọn ra các thành phần liên quan.  

Học PHP cơ bản ở từ liêm hà nội hôm nay sẽ giới thiệu cơ bản jquery để cùng chia sẻ với các bạn. Jquery cho phép bạn chọn bất cứ thành phần nào của tài liệu để “vọc” một cách dễ dàng như sử dụng CSS. 
Thay đổi giao diện của một trang web. CSS là công cụ rất mạnh để định dạng một trang web nhưng nó có một nhược điểm là không phải tất cả các trình duyệt đều hiển thị giống nhau. Cho nên jQuery ra đời để lấp chỗ trống này, vì vậy các bạn có thể sử dụng nó để giúp trang web có thể hiển thị tốt trên hầu hết các trình duyệt. Hơn nữa jQuery cũng có thể thay đổi class hoặc những định dạng CSS đã được áp dụng lên bất cứ thành phần nào của tài liệu HTML/CSS ngay cả khi trang web đó đã được trình duyệt load thành công. Thay đổi nội dung của tài liệu. Jquery không phải chỉ có thể thay đổi bề ngoài của trang web, nó cũng có thể thay đổi nội dung của chính tài liệu đó chỉ với vài dòng code. Nó có thể thêm hoặc bớt nội dung trên trang, hình ảnh có thể được thêm vào hoặc đổi sang hình khác, danh sách có thể được sắp xếp lại hoặc thậm chí cả cấu trúc HTML của một trang web cũng có thể được viết lại và mở rộng. Tất cả những điều này bạn hoàn toàn có thể làm được nhờ sự giúp đỡ của API (Application Programming Interface = Giao diện lập trình ứng dụng).
Tương tác với người dùng. Cho dù công cụ bạn dùng có mạnh mẽ đến mấy, nhưng nếu bạn không có quyền quyết định khi nào nó được sử dụng thì công cụ đó cũng coi như bỏ. Với thư viện javaScript như jQuery, nó cho bạn nhiều cách để tương tác với người dùng ví dụ như khi người dùng nhấp chuột vào đường link thì sẽ có gì xảy ra. Nhưng cái hay của nó là không làm cho code HTML của bạn rối tung lên chính là nhờ các Event Handlers. Hơn nữa Event Handler API sẽ bảo đảm rằng trang web của bạn tương thích hầu hết với các trình duyệt, điều này đã và đang làm đau đầu rất nhiều các web designer.
Tạo hiệu ứng động cho những thay đổi của tài liệu. Để tương tác tốt với người dùng, các web designer phải cho người dùng thấy được hiệu ứng gì sẽ xảy ra khi họ làm một tác vụ nào đó. Jquery cho phép bạn sử dụng rất nhiều hiệu ứng động như mờ dần, chạy dọc chạy ngang v.v.. và nếu vẫn chưa đủ, nó còn cho phép bạn tự tạo ra các hiệu ứng của riêng mình.
Lấy thông tin từ server mà không cần tải lại trang web. Đây chính là công nghệ ngày càng trở nên phổ biến Asynchronous JavaScript And XML (AJAX), nó giúp người thiết kế web tạo ra những trang web tương tác cực tốt và nhiều tính năng. Thư viện jQuery loại bỏ sự phức tạp của trình duyệt trong quá trình này và cho phép người phát triển web có thể tập trung vào các tính năng đầu cuối. Đơn giản hoá các tác vụ javaScript. Ngoài những tính năng như đã nêu ở trên, jQuery còn cho phép bạn viết code javaScript đơn giản hơn nhiều so với cách truyền thống như là các vòng lặp và điều khiển mảng.
Các bạn có thể học hỏi thêm và tham khảo ở trang chủ đào tạo , chia sẻ kiến thức php cơ bản : http://daotaolaptrinh.edu.vn.
Trong quá trình tìm hiểu tài liệu php  Jquery sở dĩ trở nên phổ biến là do cách sử dụng đơn giản và bên cạnh đó còn có một cộng đồng sử dụng mạnh mẽ vẫn ngày ngày phát triển thêm Plugin và hoàn thiện những tính năng trọng tâm của jQuery. Cho dù thực tế là vậy, nhưng jQuery lại là thư viện javaScript hoàn toàn miễn phí cho mọi người sử dụng. 
Các blog về giúp tìm hiểu về tổng quan PHP cơ bản ở từ liêm hà nội sẽ tiếp tục với các blog tiếp theo. Mong nhận được sự ủng hộ và đóng góp của các bạn sinh viên muốn theo học lập trình ở hà nội nói chung và các bạn sinh viên ở từ liêm hà nội nói riêng.

Học sử dụng biến php cơ bản trong Javascript

Học PHP cơ bản ở từ liêm hà nội hôm nay sẽ giới thiệuSử dụng biến PHP trong Javascript với hàm wp_localize_script.

Làm thế nào để sử dụng các biến PHP trong Javascript ? Bình thường ta có thể sử dụng các biến đó khi viết Javascript trên thẻ. Tuy nhiên khi làm việc với WP thì mình biết được 1 hàm nó có thể sử lý điều này rất tốt đó là hàm: wp_localize_script

Cú Pháp: 



Hàm wp_localize_script cho bạn khả năng để viết một đối tượng JavaScript với nhiều biến được định nghĩa. Một điểm lưu ý là hàm này phải được gọi sau khi mã javascript của bạn đã được enqueued. Để biết chi tiết về các các tham số các bạn có thể vào đây:  wp_localize_script
Ví dụ: Bài Toán ban đầu: Đây là đoạn script đã được enqueued lúc đầu
1 wp_enqueue_script(  'portfolio-effect-js', CHILD_URL . 'js/portfolio-effect.js', array( 'jquery' ), '1.5.0'
Trong script portfolio-effect.js có 1 đoạn js cần sử lý:
1 $portfolio_effect.masonry( {
2 itemSelector: '.portfolio-item',
3      columnWidth : function ( containerWidth )
4      {
5         return containerWidth / 4;
6      },
7     isAnimated : true
8 } );
Để cho trực quan thì mình lấy luôn trường hợp mà mình gặp phải trước khi đụng tới hàm wp_localize_script này. Bài Toán ban đầu: Đây là đoạn script đã được enqueued lúc đầu
1 wp_enqueue_script(  'portfolio-effect-js', CHILD_URL . 'js/portfolio-effect.js', array( 'jquery' ), '1.5.0'

Setting layout trong theme
Trong script portfolio-effect.js có 1 đoạn js cần sử lý:
1 $portfolio_effect.masonry( { itemSelector: '.portfolio-item',
2      columnWidth : function ( containerWidth )
3      {
4         return containerWidth / 4;
5      },
6     isAnimated : true  
7} );

Làm Thế nào để khi người dùng click vào layout với các thành phần 1 cột, 2 cột, 3 cột thì hiệu ứng Javascript sẽ nhận số cột đó để chia kích thước chiều rộng với số cột tương ứng thay vì fix số lượng cột là 4 như trên ( Việc này có nhiều cách xử lý đơn giản hơn nhưng vì liên quan tới vấn đề đưa php vào trong JS nên mình đưa ra cách giải quyết này ) Bài toán xử lý:
1 $fitbus = array(  
2'portfolio_columns' => $portfolio_column
3 );
4 wp_localize_script( 'portfolio-effect-js', 'fitbus', $fitbus );
+ Chúng ta cần khai báo 1 mảng, với mảng bao gồm các biến cần xử lý. Ở đây biến $portfolio_column là biến được xử lý để lấy giá trị số cột khi người dùng lựa chọn trong setting, Chúng ta cần đưa biến đó vào trong Js ở trên
+ Trong hàm wp_localize_script thì portfolio-effect-js: Tên của Js đã enqueued phần trên fitbus: Tên đối tượng Js sẽ chứa dữ liệu $fitbus: mảng chứa các biến được khai báo ở trên Công việc cuối cùng là chúng ta sẽ quay trở lại Js:  portfolio-effect.js Thay con số 4 ở trên bằng biến mà chúng ta đã khai báo trong mảng, cụ thể như sau
1 $portfolio_effect.masonry( {
2   itemSelector: '.portfolio-item',
3   columnWidth : function ( containerWidth )
4   {
5   return containerWidth / fitbus.portfolio_columns;
6   },
7   isAnimated : true
8 } );
Như vậy là sau khi người dùng setting số cột thì lập tức biến đó sẽ được truyền vào trong Js và Js này thực hiện tính chiều dài của cột tương ứng với setting.  
Các blog về giúp tìm hiểu về tổng quan PHP cơ bản ở từ liêm hà nội sẽ tiếp tục với các blog tiếp theo. Mong nhận được sự ủng hộ và đóng góp của các bạn sinh viên muốn theo học lập trình ở hà nội nói chung và các bạn sinh viên ở từ liêm hà nội nói riêng.

Chủ Nhật, 11 tháng 8, 2013

Tìm hiểu về cơ chế hoạt động của jQuery

Học PHP cơ bản ở từ liêm hà nội hôm nay sẽ giới thiệu với các bạn về jquery là giúp chúng ta có thể đơn giản hóa cách viết Javascript và tăng tốc độ xử lý các sự kiện trên trang web.

Bản chất jQuery là một thư viện Javascript kiểu mới trong lập trình php.

Trong bài viết dưới đây, chúng tôi sẽ hướng dẫn và giới thiệu với các bạn về một số khái niệm cơ bản về jQuery - được thiết kế để thay đổi cách mà bạn viết mã JavaScript, hỗ trợ bạn trong việc xử lý HTML, xử lý các sự kiện trong trang HTML/CSS, tạo các hiệu ứng đẹp, xử lý Ajax nhanh và ngắn gọn hơn cho ứng dụng website của người sử dụng. 

Để thực hiện một chức năng nào đó, thay vì viết vài chục dòng lệnh DOM JavaScript chán ngắt cũ kỹ, với jQuery chỉ cần vài dòng.

1. Cơ bản:

Bài thử nghiệm căn bản dưới đây được xây dựng để giúp các bạn mới bắt đầu sử dụng jQuery. Nếu chưa có sẵn 1 trang chuyên để test thì hãy bắt đầu bằng cách tạo trang HTML mới với mã nguồn như dưới đây:




Demo


jQuery





Thay đổi thuộc tính src trong thẻ script để trỏ tới file jquery.js của bạn. Ví dụ, nếu file jquery.js nằm cùng thư mục với file HTML thì chúng ta có thể sử dụng:

2. Ghép code trên trang có sẵn:

Một trong những việc đầu tiên mà hầu hết các bạn học lập trìnhPHP đều muốn làm là ghép code tới chương trình, ứng dụng chính của họ. Chẳng hạn như sau:
window.onload = function(){ alert("welcome"); }
Bên trong đoạn code đó là những gì chúng ta muốn trình duyệt hoạt động khi website được tải. Nhưng vấn đề xảy ra ở đây là đoạn mã Javascript sẽ không chạy cho tới khi tất cả các file ảnh đã được tải hết về máy (có bao gồm các banner quảng cáo). Lý do sử dụng window.onload là vì các văn bản HTML vẫn chưa được tải hết trong lần hoạt động đầu tiên.
Để giải quyết vấn đề trên thì jQuery đã có sẵn 1 mệnh đề có khả năng kiểm tra các biến document và chờ đợi cho tới khi được cố định, đó chính là event ready:
 $(document).ready(function(){
   // Your code here
 });
Bên trong event ready đó, chúng ta chèn thêm sự kiện handler click tới đường dẫn:
 $(document).ready(function(){
   $("a").click(function(event){
     alert("Thanks for visiting!");
   });
 });
Lưu lại file HTML và tải lại trang test này, nhấn vào đường dẫn trên trang đó sẽ hiển thị cửa sổ cảnh báo dưới dạng pop up trước khi chuyển tới trang jQuery chính. Đối với các click cũng như nhiều event khác, chúng ta có thể chặn các thao tác mặc định tại đây, như ví dụ trên thì sau đường dẫn nhấn vào là trang jquery.com bằng cách gọi event.preventDefault() trong handler event:
 $(document).ready(function(){
   $("a").click(function(event){
     alert("As you can see, the link no longer took you to jquery.com");
     event.preventDefault();
   });
 });

3. Ví dụ hoàn chỉnh:

Dưới đây là 1 ví dụ hoàn chỉnh của file HTML dựa theo các đoạn mã trên. Lưu ý rằng đường dẫn tại đây sẽ kết nối tới CDN của Google để tải file gốc của jQuery. Bên cạnh đó, đoạn script tùy chỉnh của chúng ta được bao gồm trong thẻ , thì thích hợp hơn là đặt nó vào 1 file riêng biệt, sau đó truyền thông số tới file đó qua thuộc tính src tương ứng của element:




jQuery demo


jQuery


$(document).ready(function(){
$("a").click(function(event){
alert("As you can see, the link no longer took you to jquery.com");
event.preventDefault();
});
});


4. Xóa bỏ hoặc gán thêm class HTML:

Lưu ý rằng một số đoạn mã jQuery ví dụ dưới đây cần phải đặt bên trong event ready để được thực thi khi website sẵn sàng trong trạng thái “làm việc”. Một trong những tác vụ phổ biến là gán thêm hoặc xóa bớt class.
Trước tiên, hãy thử gán 1 số thông tin style vào trong thẻ của trang web, chẳng hạn như sau:

a.test { font-weight: bold; }
Tiếp theo, gán thêm addClass vào trong đoạn mã:
$("a").addClass("test");
Toàn bộ các thành phần đó sẽ được bôi đậm. Còn nếu muốn gõ bỏ class, sử dụng removeClass:
$("a").removeClass("test");
HTML cho phép gán nhiều class vào 1 element.

5. Một số hiệu ứng đặc biệt:

Trong jQuery đã có sẵn một số hiệu ứng khá đặc biệt để làm cho trang web của bạn trở nên đặc biệt. Để chèn vào trang test của chúng ta, hãy thay đổi sự kiện click đã được gán vào trước đó:
$("a").click(function(event){
event.preventDefault();
$(this).hide("slow");
});
Giờ đây, khi nhấn vào bất kỳ đường dẫn nào thì trang web sẽ từ từ biến mất.

6. Callback và Functions:

Thực chất, callback chính là 1 chức năng có nhiệm vụ chuyển argument tới 1 chức năng khác và được thực thi sau khi function parent hoàn tất. Điểm đặc biệt của callback là function sẽ được hiển thị ngay sau khi function ở bậc parent có thể thực thi trước khi hành động của callback xảy ra. Một điểm quan trọng khác cần biết ở đây là làm thế nào callback được “gọi” ra đúng thời điểm.
Callback không đi kèm argument có cú pháp chung như sau:
$.get('myhtmlpage.html', myCallBack);
Lưu ý rằng tham số thứ 2 ở đây đơn giản chỉ là tên của function. Các function trong Javascript là First class citizens và có thể được sử dụng làm biến tùy chỉnh, được thực thi tại các thời điểm sau đó.
Callback với argument: câu hỏi được đặt ra ở đây là các bạn sẽ phải làm gì nếu có các argument cần phải bỏ qua? Nếu sử dụng cú pháp thông thường như dưới đây:
$.get('myhtmlpage.html', myCallBack(param1, param2));
thì sẽ không hoạt động, bởi vì hệ thống sẽ gọi:
myCallBack(param1, param2)
và sau đó bỏ qua giá trị được trả về dưới dạng tham số thứ 2 tới $.get()
Tuy nhiên, vấn đề xảy ra với ví dụ trên là myCallBack(param1, param2) được đánh giá trước khi được chuyển đi dưới dạng 1 function. Javascript và jQuery extension thường phải sử dụng các pointer function trong những trường hợp như thế này, chẳng hạn như function setTimeout...
Ví dụ như dưới đây, 1 chức năng anonymous được khởi tạo (đơn giản chỉ là 1 khối statement) và được đăng ký dưới dạng function callback, lưu ý tới cách sử dụng của 'function(){'. Hàm anonymous thực hiện đúng 1 chức năng duy nhất, đó là gọi ra myCallBack với giá trị đi kèm của param1 param2.
$.get('myhtmlpage.html', function(){
myCallBack(param1, param2);
});
Trong đó param1 và param2 được sử dụng dưới dạng callback khi hàm '$.get' hoàn tất quá trình tải trang web.
Trên đây là một số kiến thức blog học php cơ bản tại từ liêm hà nội muốn chia sẻ với các bạn, thường được sử dụng với jQuery, ngoài ra jQuery còn cung cấp các tác vụ cơ bản để thực hiện các sự kiện như blind(), die()… trong quá trình học lập trình php cơ bản.