Thủ thuật, hacking, tool, code, công cụ hiện đại

Thủ thuật, hacking, tool, code, công cụ

chia sẻ

Chùm tin vắn qua ảnh


(Dân trí) - Chính trị gia đối lập Thái Lan bị bắn ở Bangkok; Tỉ lệ ủng hộ Tổng thống Obama tăng kỷ lục sau vụ hạ sát Bin laden; Iran hoãn xét xử những người Mỹ bị cáo buộc làm gián điệp…

Chính trị gia đối lập của Thái Lan, Pracha Prasopdee, người được cho là thân cận với cựu Thủ tướng Thaksin đã phải nhập viện sau khi bị một kẻ đi xe máy bị bắn trúng lưng vào cuối ngày hôm qua tại Samut Prakan, ngoại ô Bangkok. Tuy nhiên vết thương của ông không nguy hiểm đến tính mạng. Chính phủ Thái Lan cho rằng vụ bắn súng này có vẻ như mang động cơ chính trị, trước thềm cuộc tổng tuyển cử ấn định vào 3/7 tới. Prasopdee là nghị sỹ đảng Puea Thai trước khi hạ viện bị giải tán vào tuần này.
 
 
Thủ tướng Libya al-Baghdadi Ali al-Mahmoudi hôm qua đã lên án các vụ nã bom của NATO nhằm vào nước này là vi phạm hiến chương Liên hợp quốc. Quan chức Libya này đã gọi điện cho Tổng thư ký LHQ Ban Ki-moon và Thủ tướng Hi Lạp Papandreou để thông báo về hậu quả của chiến dịch nã bom. Trong khi đó, ông Ban kêu gọi ngừng bắn ngay lập tức ở Libya và yêu cầu cho phép các nhân viên cứu trợ nhân đạo tới Libya.
 
 
Iran hôm nay cho hay đã hoãn phiên tòa xét xử 3 người Mỹ vì bị cáo buộc làm gián điệp do các bị cáo vắng mặt. 3 người Mỹ đã bị bắt vào tháng 7/2009 sau khi vượt biên từ Iraq vào Iran. Sarah Shourd, một người trong nhóm bị bắt đã trở về Mỹ sau khi đóng tiền bảo lãnh vào năm ngoái. Hai người còn lại Josh Fattal và Shane Bauer hiện vẫn bị giam giữ. Sarah Shourd cho biết sẽ không trở lại Iran.
 
Tỷ lệ ủng hộ Tổng thống Mỹ Barack Obama đạt mức cao nhất trong vòng 2 năm qua – 60%, và hơn một nửa người Mỹ giờ đây cho rằng ông xứng đáng được tái trúng cử sau khi lực lượng Mỹ tiêu diệt được thủ lĩnh al-Qaeda Osama bin Laden. Đây là kết quả của cuộc điều tra do Associated Press-GfK tiến hành.
 
Hãng hàng không Southern Airlines của Trung Quốc cho hay chi nhánh Xiamen Airlines đã mua 6 chiếc 787 Dreamliners của Boeing, nhằm đáp ứng nhu cầu bay ngày càng tăng. Hợp đồng trị giá khoảng 1,1 tỷ USD. Dreamliner được quảng cáo là thế hệ máy bay mới, tiết kiệm nhiên liệu nhưng đã bị hoãn sản xuất và chuyển giao nhiều lần. Dự kiến các máy bay này sẽ được chuyển giao cho Trung Quốc từ năm 2014-2015.
Vũ Quý
Tổng hợp

Gà Trung Quốc được "vỗ béo" bằng bột hoá chất độc hại

Không lâu sau vụ bê bối vệ sinh thực phẩm “bột thịt nạc” tại Trung Quốc, giới chức nước này lại tiếp tục phanh phui ra vụ việc hơn 1000 con gà tại thành phố Trùng Khánh được “vỗ béo” bằng thức ăn trộn bột barít sunfat, vốn dùng trong các hoạt động công nghiệp và y tế. 
Cảnh sát thành phố Trùng Khánh, Tây Nam Trung Quốc đã vào cuộc điều tra sau khi nhiều người tiêu dùng khiếu nại việc tìm thấy “chất lạ” trong đường tiêu hóa của gà sống mua từ chợ về.
 Ảnh minh họa

Hôm 8/5, khi kiểm tra hai chiếc xe tải chở gà vào thành phố, lực lượng điều tra đã phát hiện những số gà này đã bị nhồi đầy diều thức ăn có trộn chất bari sunfat (thường gọi là bột barit). Chúng đã trở nên nặng cân hơn một cách bất bình thường. 

Bột bari sunfat thường được dùng để tăng trọng lượng cho hỗn hợp đất sét, nước và hóa chất. Hỗn hợp này được sử dụng để bơm vào giếng đang khoan nhằm giữ cho dầu, khí khỏi thất thoát, hoặc làm chất cản quang giúp chệnh hướng tia X trong y học hay chất trong phanh xe và chất liệu cho các loại sơn cao cấp.

Lĩnh vực thực phẩm của Trung Quốc gần đây liên tục được nhắc đến với những vụ bê bối ngộ độc, trong khi đó, những chiến dịch truy quét của chính phủ không mấy hiệu quả.

Trong năm 2008, tại Trung Quốc có ít nhất 6 trẻ em đã thiệt mạng vì sữa bột nhiễm chất mêlamin, một chất hóa học công nghiệp được thêm vào sữa kém chất lượng hoặc pha loãng để tăng tỷ lệ protein, đánh lừa các thanh tra về chất lượng sữa trước khi đưa ra thị trường.  

(Tổng hợp)

Backup và restore DB SQL trong lập trình C#

private void btRestore_Click(object sender, Ev entArgs e)
        {
            try
            {  
                string path = "D:\\backupUITGPP.bak";
                string sqlRestore  = "Use master Restore Database [UITGPP] from disk='" + path + "'";
                SqlConnection con  = new SqlConnection("Data Source=ACUMEN-PC\\SQLEXPRESS;Initial Catalog=Ketnoimoi;Integrat ed Security=True");
                con.Open();
               
                SqlCommand cmd =  new SqlCommand(sqlRestore, con);
                cmd.ExecuteNonQuer y();
                con.Close();
                MessageBox.Show("Database da duoc restore ");

            }
            catch (SqlException ex)
            {
                MessageBox.Show(ex .Message, "Restore Database");
                return;
            }
            catch (Exception ex)
            {

            }

        }


Backup:

private void btBackUp_Click(object sender, Eve ntArgs e)
        {
            try
            {
                string sqlBackup = "BACKUP DATABASE [UITGPP] TO DISK='D:\\backupUITGPP.bak'";
                SqlConnection con =new SqlConnection("Data Source=ACUMEN-PC\\SQLEXPRESS;Initial Catalog=UITGPP;IntegratedSecurity=True");
                con.Open();
                SqlCommand cmd =  new SqlCommand(sqlBackup, con);
                cmd.ExecuteNonQuer y();
                con.Close();
                MessageBox.Show("Đã backup cơ sở dữ liệu");
            }
            catch (SqlException ex)
            {
                MessageBox.Show(ex .Message, "Backup Database");
                return;
            }
            catch (Exception ex)
            {

            }

        }

Nguồn: congdongcviet.com

Tâm sự của thuyền trưởng con tầu giáo dục Hiệp Hòa

Những kỷ niệm về Trường Đức Thắng của " vị thuyền trưởng con tầu giáo dục Hiệp Hòa" đã nghỉ hưu!

Sau mấy ngày rét giá, sáng nay trời bỗng nhiên nắng ấm trở lại, tôi về thăm một người thầy giáo cũ, người thầy hiệu trưởng của trường Đức Thắng cách đây 30 năm...Thầy nguyên là Trưởng phòng giáo dục đào tạo, một người mà nói theo cách nói hình ảnh thì đó là "vị thuyền trưởng" người đã cầm lái con tàu giáo dục huyện Hiệp Hòa suốt hơn chục năm ròng, giờ đã nghỉ hưu. 
Thầy là Dương Văn Thanh, sinh năm 1949, quê ở làng Hương Câu, xã Hương Lâm( Hiệp Hòa- Bắc Giang). Đó là một ngôi làng cổ, có nhiều nét văn hóa truyền thống đẹp đẽ từ ngàn xưa còn được lưu giữ đến tận bây giờ. Tốt nghiệp Đại học sư phạm năm 1969, thầy về công tác ở Trường cấp III Hiệp Hòa số I.  Năm 1975, thầy sang Lào làm chuyên gia giáo dục. Hai năm sau, thầy về nước, nhận công tác ở Sở giáo dục Bắc Giang, rồi Trường cấp III Hiệp Hòa số II..Năm học 1979-1980, thầy về làm hiệu trưởng trường PTCS Đức Thắng.Tuy chỉ công tác ở đây có hai năm, nhưng khi nhắc lại ,thầy vẫn khẳng định rằng: thầy mãi mãi nhớ về Đức Thắng, vì đó là nơi khởi đầu cho cho con đường dài làm công tác quản lý giáo dục của mình. Và đó cũng là nơi lưu giữ mãi những câu chuyện đẹp về tình nghĩa thầy trò, về quan hệ đồng nghiệp gắn bó thân thương giữa một thời gian khổ. Ấn tượng đầu tiên với tôi là khi được nghe thầy kể rằng: hồi đó, vừa về trường, thầy đã quyết định giữ lại bằng được một loạt giáo viên nổi tiếng mới có quyết định thuyên chuyển như thầy Khôi, thầy Quế, thầy Bảo...đồng thời thầy lại cố công tìm kiếm, xin điều chuyển các thầy cô dạy giỏi về cho trường để xây dựng đội ngũ. Hồi đó, việc sử dụng biên chế còn dễ dàng, để nâng cao chất lượng của việc dạy và học, thầy đã để cho thầy Quế, một nhà giáo tâm huyết, giàu kinh nghiệm được nghỉ dạy hoàn toàn, chỉ làm một việc là thường xuyên đi dự giờ, góp ý để giúp đồng nghiệp giảng dạy tốt hơn. Đối với các thầy cô làm công tác bồi dưỡng học sinh giỏi, thầy miễn phải họp hành, miễn thực hiện một số qui định ràng buộc, được chủ động công việc, khi đánh giá căn cứ vào hiệu quả thực tế...Như vậy, bằng sự tin tưởng vào đồng nghiệp, biết sử dụng con người hợp lý, thầy đã đưa sự nghiệp giáo dục của trường Đức Thắng tiếp tục vững bước tiến lên, tạo tiền đề quan trọng giúp nhà trường sau này có được tấm Huân chương lao động hạng nhất do Đảng và Nhà nước trao tặng. Nhớ về những ngày tháng ấy, thầy kể: hồi đó đội ngũ giáo viên của trường đa số là trẻ, rất năng nổ nhiệt tình. Sáng sớm, lắm hôm rét buốt, từ 5h sáng, các thầy cô giáo đã có mặt ở từng thôn xóm để chỉ đạo học sinh tập thể dục và vệ sinh môi trường. Buổi tối lại theo lịch, thầy cô tỏa về các xóm kiểm tra việc học tập của học sinh, đêm về lại chong đèn soạn bài cho đến tận khuya.Thầy vận động UBND xã và các thôn xóm có kế hoạch khen thưởng kịp thời cho giáo viên giỏi và học sinh giỏi của trường. Thấm thoắt đã ba mươi năm, những kỷniệm khó quên về ngôi trường mến yêu dường như vẫn còn nguyên trong tâm khảm của thầy.Trong đôi dòng tâm sự về trường thầy đã khẳng định : Đó là nơi thầy khởi đầu cho sự nghiệp quản lý của mình, là nơi lưu giữ bao kỷ niệm đẹpđẽ, khó quên về một thời cống hiến đến say mê. Cảm ơn Đức Thắng đã giúp thầy đi đến những thành công! Rời Đức Thắng, thầy quay trở về trường cấp III Hiệp Hòa số II làm công tác quản lý. Từ tháng 10 năm 1997, thầy được cử làm Trưởng phòng giáo dục huyện Hiệp Hòa. Sau hơn mười năm cầm lái con tàu giáo dục, tháng 3-2009, thầy đã nghỉ hưu, giao trọng trách ấy cho người thuyền trưởng mới .Bây giờ, trò chuyện với tôi, lòng thầy hình như còn áy náy vì trong những ngày cầm lái đã không thể nào chiều theo hết được những ý nguyện của một số anh em đồng chí trên "tầu". Thế mới biết nghề làm thuyền trưởng là đâu phải chỉ đương đầu với phong ba bão táp đại dương... 
Sáng nay, lúc tôi đến thăm, thầy vẫn ở giữa vườn cây, mải tỉa cành, xén lá . Thầy bảo: mình về hưu rồi, lấy vườn cây, ao cá làm vui, dành thì giờ trông nom, để ý đến gia đình, con cháu. Muốn nghỉ hẳn mọi thứ nhưng chưa được, với lại sức khỏe cũng kém lắm rồi...! Các cậu dạy văn, có phải cứ nhận xét rằng ngày trước ông này ông nọ chỉ thích vui thú điền viên mà về quê ở ẩn là tiêu cực, là " lánh đục tìm trong"...thì cũng nên xem xét lại....! Tôi cười và góp thêm : Thầy ơi, thầy trò mình đều cũng già rồi, chỉ nên làm những gì mà mình thích thôi thầy nhỉ? Thầy cười, mắt lấp lánh nhìn lên bức ảnh lớn chụp hình cây quéo cổ xưa bên mái đình quê hương mà thầy đang treo ở nơi trang trọng nhất trong nhà. Qúa trưa rồi, tôi phải tạm biệt thầy - tạm biệt một người " thuyền trưởng của con tàu giáo dục Hiệp Hòa ", người thầy hiệu trưởng của Trường Đức Thắng ngày xưa!
Dưới đây là một số hình ảnh của cuộc gặp gỡ
Thầy Thanh đang kể chuyện ngày xưa
Bức ảnh cây quéo đình Hương Câu
Thầy Thanh và cháu nội ( ảnh chụp trước nhà thầy trưa 7-12-2010)
Trần Văn Thanh
(Theo hiephoa.net)

Cuộc tấn công tiêu diệt Osama bin Laden diễn ra thế nào


Trong đêm tối, bốn chiếc trực thăng của quân đội Mỹ bay về phía thị trấn Abbottabad tại Pakistan để tiêu diệt trùm khủng bố Osama bin Laden.

Một binh sĩ Pakistan nói chuyện với người dân
Một binh sĩ Pakistan nói chuyện với người dân tại chốt kiểm soát ở thị trấn Abbottabad hôm 2/5. Ảnh: AP.
Một quan chức Pakistan tiết lộ, bốn trực thăng khởi hành từ căn cứ không quân Ghazi ở phía tây bắc Pakistan. Mục tiêu của phi đội này là một ngôi nhà ba tầng cách một trường quân sự khoảng 100 m tại thị trấn Abbottabad. Theo thông tin tình báo mà quân đội Mỹ nhận được từ tháng 8 năm ngoái thì đó là ngôi nhà mà trùm khủng bố Osama bin Laden trú ẩn, AP đưa tin.
Lửa bốc lên tòa nhà sau khi trực thăng Mỹ khai hỏa. Người dân trong thị trấn nghe ít nhất hai tiếng nổ lớn.
Mohammad Haroon Rasheed, một người dân địa phương, kể rằng, vụ tấn công diễn ra vào khoảng 1h15 sáng 1/5 theo giờ Pakistan.
“Một tiếng nổ lớn vang lên, sau đó là những tiếng súng nổ. Thế rồi đột nhiên chẳng ai bắn nữa. Một lát sau một tiếng nổ lớn hơn vang lên. Vào buổi sáng, khi chạy ra khỏi nhà chúng tôi thấy một xác trực thăng trên cánh đồng”, Rasheed nói.
Các quan chức Pakistan và một nhân chứng kể rằng những cận vệ của bin Laden đã vác trên vai súng phóng rocket bắn trả từ mái của tòa nhà khiến một trực thăng rơi. Tuy nhiên, Nhà Trắng khẳng định không có bất kỳ binh lính Mỹ nào bị thương trong trận giao tranh.
Khoảng 40 phút sau khi trực thăng Mỹ tấn công, bin Laden cùng bốn người khác trong ngôi nhà bị tiêu diệt. Vài nguồn tin nói một con trai của bin Laden cũng chết trong cuộc tấn công. Tuy nhiên, thông tin đó chưa được kiểm chứng.
CNN cho biết, Tổng thống Mỹ Barack Obama đã ra lệnh thực hiện vụ tấn công vào ngày 29/4. Ngôi nhà mà bin Laden ẩn náu có hai cổng và rất ít cửa sổ. Bức tường bao quanh ngôi nhà có chiều cao hơn 5 m và có nhiều dây thép gai. Nhiều bức tường khác bên trong bức tường bao ngoài khiến ngôi nhà bị chia thành nhiều khu vực riêng biệt. Một bức tường có chiều cao hơn hai mét được xây ở tầng ba của ngôi nhà.
"Khi bước vào bên trong ngôi nhà, chúng tôi cảm thấy sửng sốt trước những thứ mà chúng tôi thấy. Đó là một ngôi nhà độc nhất vô nhị. Chiều rộng của nó gấp ít nhất tám lần so với những ngôi nhà khác trong vùng. Nó được xây trên một khu đất lớn", một quan chức của chính phủ Pakistan nói.
Nhiều báo cáo tình báo khẳng định, ngôi nhà được thiết kế để làm chỗ ẩn náu cho những phần tử khủng bố cao cấp bị truy nã. Giá trị của nó vào khoảng một triệu USD. Trong nhà không có đường dây điện thoại hay cáp Internet. Những người sống trong nhà này tự tiêu hủy rác, chứ không sử dụng dịch vụ thu gom rác như người dân xung quanh.
Việc bin Laden ẩn náu tại Abbottabad là thông tin có thể khiến nhiều người ngạc nhiên, bởi Abbottabad là nơi đồn trú của quân đội Pakistan. Thị trấn có nhiều tòa nhà của quân đội và vài nghìn quân nhân Pakistan sống tại đây.
Lửa cháy tại ngôi nhà bin Laden ẩn náu
Việt Linh

'Trùm khủng bố Osama bin Laden đã chết'


Osama bin Laden, thủ lĩnh mạng lưới khủng bố quốc tế al Qaeda, đã bị giết hôm 30/4 trong một chiến dịch của quân đội Mỹ tại Pakistan, Tổng thống Mỹ Barack Obama thông báo.

Osama bin Laden trong một bức ảnh được chụp vào năm 1998. Ảnh: AP.
Osama bin Laden trong một bức ảnh được chụp vào năm 1998. Ảnh:AP.
Trong bài phát biểu tới toàn thể người dân Mỹ tại Nhà Trắng vào lúc gần nửa đêm ngày 1/5 theo giờ Mỹ (vào buổi trưa ngày 2/5 theo giờ Hà Nội), ông Obama nói bin Laden bị giết trong một cuộc tấn công của quân đội Mỹ tại thị trấn Abbottabad, Pakistan vào tối 1/5 theo giờ địa phương. Thị trấn này nằm ở phía bắc thủ đô Islamabad.
"Mỹ vừa tiến hành một chiến dịch dẫn đến cái chết của Osama bin laden, kẻ đứng đầu tổ chức khủng bố Al Qaeda và giết chết hàng nghìn đàn ông, phụ nữ và trẻ em. Công lý đã được thực thi", ông Obama nói.
Cuộc tấn công được tiến hành sau khi một nguồn tin tình báo cho biết bin Laden đang ẩn náu ở Abbottabad.
“Sau một cuộc đấu súng các binh sĩ đã hạ sát bin Laden. Không có bất kỳ binh sĩ Mỹ nào bị thương. Chính phủ Pakistan đã giúp chúng tôi tìm ra vị trí của trùm khủng bố”, Guardian dẫn lời ông Obama.
Một số kênh truyền hình Mỹ tiết lộ chính phủ nước này đang giữ xác của bin Laden. Đây sẽ là bằng chứng để thuyết phục người dân Mỹ rằng trùm khủng bố thực sự đã chết.
Osama bin Laden bị giết trong cuộc tấn công của quân đội Mỹ tại thị trấn Abbottabad vào tối 30/4.
Trong chiến dịch tranh cử tổng thống vào năm 2008, ông Obama từng cam kết rằng nếu đắc cử, ông sẽ ra lệnh cho quân đội giết chết bin Laden. Giờ đây cam kết của ông đã trở thành hiện thực.
Nhiều người dân Mỹ tập trung bên ngoài Nhà Trắng ở thủ đô Washington để bày tỏ sự vui mừng về cái chết của bin Laden.
Niềm vui của người dân Mỹ trước cái chết của bin Laden.
> Xem Tổng thống Mỹ tuyên bố bin Laden đã chết
Osama bin Laden là một người theo đạo Hồi chính thống và thành lập tổ chức khủng bố quốc tế alQaeda. Giới chức Mỹ cáo buộc ông ta đứng đằng sau vụ khủng bố vào tòa tháp đôi Trung tâm thương mại thế giới tại New York và trụ sở Bộ Quốc phòng Mỹ vào ngày 11/9/2001 khiến ít nhất 2.992 người thiệt mạng. Từ đó tới nay, bin Laden đứng đầu danh sách 10 nhân vật bị Cục Điều tra liên bang Mỹ truy lùng trên toàn thế giới.
Gulbuddin Hekmatyar, một chỉ huy nhóm phiến quân Hezb-e-Islami tại Afghanistan, từng nói với kênh truyền hình Geo TV của Pakistan rằng các chiến binh dưới quyền ông ta từng giúp đỡ Osama bin Laden tẩu thoát khỏi một cuộc tấn công của quân đội Mỹ vào khu hang động Tora Bora ở phía đông Afghanistan vào năm 2002.
Vào tháng 10 năm ngoái, CNN dẫn lời một quan chức cấp cao của NATO khẳng định bin Laden đang sống thoải mái trong một ngôi nhà ở tây bắc Pakistan, gần với phó tướng của ông ta là Ayman al-Zawahiri. Họ được bảo vệ bởi những người dân địa phương và "một số thành viên của cơ quan tình báo Pakistan". Trước đó trùm khủng bố khét tiếng di chuyển liên tục từ vùng núi Chitral gần với biên giới phía tây bắc với Trung Quốc, tới thung lũng Kurram liền kề với dãy núi Trắng - một trong những căn cứ của Taliban tại Afghanistan.
Trong cuốn sách mới ra mắt "The Death of American Virtue: Clinton vs Starr", tác giả Ken Gormley - một giáo sư luật tại Mỹ, cho biết, cựu tổng thống Mỹ Bill Clinton từng suýt bị bin Laden ám sát khi ông tới tham dự diễn đàn Hợp tác kinh tế châu Á Thái Bình Dương tại Philippines vào năm 1996. Trong chuyến công du này, tổng thống Mỹ dự định thăm một chính trị gia địa phương. Trên đường ông sẽ băng qua một cây cầu ở trung tâm thành phố Manila. Nhưng khi đoàn xe của tổng thống định xuất phát thì các nhân viên mật vụ nhận được tin tình báo đã phát hiện được có một vụ tấn công sắp xảy ra. Thông điệp chứa các từ "cầu" và "đám cưới" - mật mã của khủng bố ám chỉ ám sát. Đoàn xe ngay lập tức vòng đường khác và các nhân viên Mỹ sau đó phát hiện ra một quả bom được gắn bên dưới cầu.

Việt Linh

JavaScript - Tự động chuyển trang– Auto Redirect cho website

4u4m- JavaScript iải quyết việc tự động chuyển trang (Auto Redirect) đang xem tới 1 địa chỉ (URL) mà ứng dụng bạn muốn chuyển tới. Case Study ở đây là website của bạn bằng cách nào đó xử lý xong xuôi tại trang A và bây giờ bạn muốn tự động chuyển tới 1 trang B nào đó. Trang B có thể là 1 webpage của website của bạn hoặc một website khác.
Để giải quyết được vấn đề này hiện tại có 3 hướng giải quyết chính:
1.Sử dụng HTTP Status Code 301 (hoặc 302)
2.Sử dụng thẻ META của HTML
3.Sử dụng cơ chế Timeout của Javascript.


Mình sẽ lần lượt giới thiệu 3 cách triển khai cũng như ưu thế, bất lợi của từng giải pháp.
1.Sử dụng HTTP Status Code 301 (hoặc 302) 
Cách này dựa trên cơ chế của HTTP, nếu trình duyệt nhận được 1 HTTP Response mà HTTP Header có Status code là 301 hoặc 302 và kèm theo “Location: some_url” thì trình duyệt sẽ tự động chuyển đến trang mà bạn chỉ định trong location.

Để làm được thao tác gởi Header theo ý mình thì tùy vào từng ngôn ngữ lập trình mà nó sẽ cung cấp cho bạn các cơ chế khác nhau để gởi header nhưng chung quy lại thì công việc cuối cùng là tạo 1 cái HTTP Response có Status code là 301 (hoặc 302).
Tại sao lại là 301 hoặc 302?
Đối với các ngôn ngữ khác thì mình chưa kiểm chứng, nhưng đối với PHP, nếu chỉ sử dụng PHP cú pháp gởi header bằng cách dùng header(“location: some_url”) thì chỉ tạo được header có status code là 302(Found) chứ không phải 301(Moved Permanently), do đó muốn nhận được status code 301 ở phía trình duyệt thì bạn cần phải gởi thêm status code trước khi gởi location. Mình nghĩ các ngôn ngữ lập trình khác cũng tương tự nhỉ ^^!
Dưới đây là danh sách cách triển khai sử dụng Header của 1 số ngôn ngữ lập trình mà mình sưu tầm được.
--------------------------------------------------------------------- PHP Redirect 
<?
Header( "HTTP/1.1 301 Moved Permanently" );
Header( "Location: http://www.new-url.com" );
?>
----------------------------------------------------------------------

ColdFusion Redirect 
<.cfheader statuscode="301" statustext="Moved permanently">

<.cfheader name="Location" value="http://www.new-url.com">
-----------------------------------------------------------------------

ASP Redirect 
<%@ Language=VBScript %>

<%

Response.Status="301 Moved Permanently"

Response.AddHeader "Location","http://www.new-url.com/"

%>

---------------------------------------------------------------------- ASP .NET Redirect 
<script runat="server">

private void Page_Load(object sender, System.EventArgs e)

{

Response.Status = "301 Moved Permanently";

Response.AddHeader("Location","http://www.new-url.com");

}

</script>

----------------------------------------------------------------------- JSP (Java) Redirect 
<%

response.setStatus(301);

response.setHeader( "Location", "http://www.new-url.com/" );

response.setHeader( "Connection", "close" );

%>
----------------------------------------------------------------------
CGI PERL Redirect 
$q = new CGI;

print $q->redirect("http://www.new-url.com/");
----------------------------------------------------------------------
Ruby on Rails Redirect 
def old_action
headers["Status"] = "301 Moved Permanently"
redirect_to "http://www.new-url.com/"
end
----------------------------------------------------------------------

Đối với cách sử dụng Header thì sẽ có 1 cái bất lợi đó là trong trường hợp bạn muốn xuất một nội dung gì đó ra rồi chuyển trang sẽ không thành công, bởi vì do cơ chế của HTTP, sau khi trình duyệt nhận được Header status code 301 (hoặc 302) và có location kèm theo thì nó sẽ tự động chuyển và bỏ qua các nội dung mà bạn xuất. Riêng đối với PHP, trước hàm header() mà bạn xuất dù chỉ 1 ký tự thì script sẽ báo lỗi và hàm header() sẽ không được thực hiện, do đó sẽ không xảy ra quá trình tự động chuyển trang. Còn các ngôn ngữ khác thì không biết giải quyết được vụ báo lỗi không ^^.
Vì giới hạn của cách thức này, nếu bạn muốn xuất một nội dung gì ra trong vòng vài giây rồi mới tự động chuyển thì chỉ có cách sử dụng 2 cách còn lại là sử dụng thẻ META của HTML hoặc sử dụng Javascript.
2.Sử dụng thẻ META của HTML 
Cách này dùng rất đơn giản và tiện lợi, hiệu quả thì cực kỳ tốt. Bạn có thể cho phép trang A hiển thị bao lâu đó rồi sau đó sẽ tự động chuyển sang trang B.Chỉ cần thêm thẻ META dưới đây vào phần HEAD của trang HTML thì sẽ đạt được hiệu quả.


[sup]http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples[/sup]
http://bloghoctap.com/wp-content/plugin ... _meta.html

MÃ: CHỌN TẤT CẢ
<html>
<head>
<meta http-equiv="refresh" content="15;url=http://www.new-url.com/">
</head>
<body>
...
</body>
</html>


Trong ví dụ này, website sẽ hiển thị 15 giây, sau đó sẽ chuyển tới trang http://www.new-url.com/. Bạn có thể thay đổi thời gian và URl bằng cách thay đổi 2 tham số trong content=”…”.
Giải pháp này được áp dụng phổ biến bởi tính Usability của nó, tuy nhiên trong 1 số trường hợp bạn không thể sử dụng thẻ META thì chỉ có cách sử dụng Javasript thông qua hàm setTimeout().
3.Sử dụng cơ chế Timeout của Javascript 
Khi nghĩ tới Javascript có lẽ là lựa chọn cuối cùng của bạn rồi bởi vì dùng nó sẽ bị tốn “một xíu” tài nguyên trình duyệt và làm cho webpage chậm “một xíu”. Tuy nhiên, nếu bất khả kháng thì phải dùng thôi.
Dưới đây là 1 ví dụ đơn giản về sử dụng cơ chế Timeout để chuyển trang, hiệu quả sẽ tương tự như ví dụ ở phần sử dụng thẻ META

[sup]http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples[/sup]
http://bloghoctap.com/wp-content/plugin ... ct_js.html


MÃ: CHỌN TẤT CẢ
<html>
<head>
<script type="text/javascript">
<!--
function delayer(){
window.location = "http://www.new-url.com/"
}
//-->
</script>
</head>
<body onLoad="setTimeout('delayer()', 15000)">
<h2>Prepare to be redirected after 15 second(s)!</h2>
</body>
</html>


Tuy nhiên, khi nghĩ tới Javascript là ta có thể triển khai nhiều điều thú vị cho việc redirect, ví dụ như ngoài việc hiển thị thời gian chuyển trang, bạn có thể cho số thời gian đếm ngược(mỗi lần trừ 1 giây và hiển thị số thời gian còn lại ra), như vị ứng dụng chuyển trang trong có vẻ ấn tượng hơn. Dưới đây là đoạn Javascript cũng làm công việc như ví dụ trên, nhưng kỳ này thời gian sẽ đếm ngược và hiển thị ra màn hình.


[sup]http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples[/sup]
http://bloghoctap.com/wp-content/plugin ... tdown.html

MÃ: CHỌN TẤT CẢ
<html>
<head>
<script type="text/javascript">
var time = 15; //How long (in seconds) to countdown
var page = "http://www.new-url.com/"; //The page to redirect to
function countDown(){
time--;
gett("container").innerHTML = time;
if(time == -1){
window.location = page;
}
}
function gett(id){
if(document.getElementById) return document.getElementById(id);
if(document.all) return document.all.id;
if(document.layers) return document.layers.id;
if(window.opera) return window.opera.id;
}
function init(){
if(gett('container')){
setInterval(countDown, 1000);
gett("container").innerHTML = time;
}
else{
setTimeout(init, 50);
}
}
document.onload = init();
</SCRIPT>
</head>
<body>
<h2>Prepare to be redirected after <span id="container"></span> second(s)!</h2>
</body>
</html>


—————————————————
Tóm lại, dù cách nào đi nữa thì các bạn (những Developer) cũng hãy luôn nghĩ tới giải pháp nào tốt nhất và phục vụ tốt nhất cho user của mình. Hy vọng bài viết này sẽ giúp các bạn phần nào trên con đường “làm web” của mình ^^.
----------- Sưu tầm------------

 
Ky nang ban hang ky-nang-ban-hang
10 10 1125 (c) by
Google Thủ thuật, hacking, tool, code, công cụ