วันอังคารที่ 17 กรกฎาคม พ.ศ. 2550

เทคนิคการ Block ไม่ให้ใครมาดูดเว็บเรา

โอ้... จั่วหัวแบบนี้ เป็นเทคนิคหนึ่งครับที่จะช่วยกันไม่ให้ใครมาใช้โปรแกรมพวก Offline Browser มาดูดเว็บเราได้ แต่ที่นี่ไม่ได้ใช้ เพราะว่า Unlimited Data Transfer แล้ว (อย่าเอ็ดไป) ปล่อย Download กระจายได้เลย

เว็บ ที่ท่านใช้ ถ้าไฟล์ที่ใช้เป็น PHP เราก็สามารถที่จะเขียนโค้ดดักเอาไว้ที่ต้นไฟล์ได้ง่ายๆ โดยใช้การเข้าถึงตัวแปร Environment Variable ของ Web Server ที่จะ return ข้อมูลกลับมาให้ ซึ่งจะใช้ชื่อตัวแปรว่า

$HTTP_USER_AGENT

การเขียนโค้ดก็คือ เขียนในไฟล์ .php ให้มันตรวจสอบตัวแปรนี้ว่าเป็นอะไร ถ้าไม่ใช่ Browser ทั่วๆ ไป เช่น IE, Netscape ซึ่งมันจึงต้องขึ้นมาว่า

Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)

นี่แสดงว่าใช้พวก Browser ตระกูลนี้ Compatible กัน แต่ถ้าเกิดใช้พวก Teleport Pro มันก็จะขึ้นว่า Teleport Pro เลย... ดังนั้น ทดสอบง่ายๆ ให้ท่านลองสร้างไฟล์ a.php ดังนี้เอาไว้

a.php

";
if (ereg("$Teleport Pro",$HTTP_USER_AGENT))
{
print("Plese do not use Offline Browser!!");
exit();
}
?>

This is content

จากนั้นให้ Upload ไปไว้ใน Web Server แล้วเอา IE เปิด มันจะขึ้นมาแบบนี้

แต่ถ้าหากใช้ Teleport Pro เปิดเว็บนี้เพื่อดูดเข้ามา มันก็จะ Save เป็นไฟล์ .html ในชื่อ index.html ตัว Teleport Pro มันก็เป็น HTTP Client ตัวนึงที่จะส่งคําสั่ง GET มาเพื่อขอไฟล์ และขอรูป มันจะเริ่มต้นขอไฟล์แรก จากนั้นมันก็จะแตก Link จากไฟล์แรกไปยังไฟล์รูปและ HTML อื่นๆ ที่อยู่ในเว็บ ขยายออกไป แผ่กิ่งก้านออกไปจนครบทุกๆไฟล์ ครบทั้งเว็บ เพราะมันตาม Link นั่นเอง ดังนั้น ถ้าเราดักทุกๆ ไฟล์ได้ โดยใส่ code ดักเอาไว้ ก็น่าจะมีโอกาสที่จะปิดได้เหมือนกันเนอะ แต่อันนี้ก็เพียงแค่ทดสอบไฟล์แรกไฟล์เดียว ถ้าไฟล์ index ของโฮมเพจมีการ block เอาไว้ก็สบายล่ะ

ดูตัวอย่างรูปนี้ เป็นการใช้ Teleport Pro เปิดไฟล์ a.php มันจะได้ไฟล์ index.html มาก็จริง

แต่เวลาเปิดขึ้นมาดูสิครับ

เสร็จเลยงานนี้ แสดงว่ามีการ block เอาไว้ และก็ไปต่อไม่ได้ด้วย เพราะเนื้อหาไม่ปรากฏออกมาให้

จากการทดลองนี้ เราก็ลองเอาเงื่อนไขนี้ไปสร้างเป็นไฟล์ .php และ require เอาไว้ที่หัวไฟล์ทุกๆ ไฟล์ PHP ในเว็บก็ได้ อันนี้ก็เป็นการประยุกต์อีกนิดนึงสําหรับการใช้ PHP ครับ

เอามาจาก http://www.thaidev.com