Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> PHP

จะตรวจจับบอทของเครื่องมือค้นหาด้วย PHP ได้อย่างไร


ไดเรกทอรีเครื่องมือค้นหาของชื่อแมงมุมสามารถใช้เป็นข้อมูลอ้างอิงได้ ถัดไป $_SERVER['HTTP_USER_Agent']; สามารถใช้ตรวจสอบว่าตัวแทนเป็นแมงมุม (บอท) หรือไม่

ด้านล่างนี้เป็นตัวอย่างที่แสดงให้เห็นเช่นเดียวกัน −

if(strstr(strtolower($_SERVER['HTTP_USER_AGENT']), "some_bot_name")) { //ขั้นตอนอื่นๆ ที่จำเป็นต้องใช้}

คำอธิบายโค้ด − เอเจนต์พร้อมกับตัวแทนผู้ใช้จะถูกส่งไปยังฟังก์ชัน strtolower ซึ่งเอาต์พุตจะถูกส่งไปยังฟังก์ชัน strstr เปรียบเทียบทั้งตัวแทนผู้ใช้และบอทเพื่อดูว่าแมงมุมเป็นบอทหรือไม่

แสดงตัวเลือกอื่นด้านล่าง −

ฟังก์ชัน _bot_detected() { return ( isset($_SERVER['HTTP_USER_AGENT']) &&preg_match('/bot|crawl|slurp|spider|mediapartners/i', $_SERVER['HTTP_USER_AGENT']);} 

คำอธิบายโค้ด − ฟังก์ชัน preg_match ช่วยในการค้นหารูปแบบเฉพาะในสตริง ในฟังก์ชัน preg_match ชื่อบอทจะถูกส่งต่อและเปรียบเทียบกับตัวแทนผู้ใช้ที่ตรวจพบว่าสไปเดอร์เป็นบอทของเครื่องมือค้นหาหรือไม่