Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> PHP

Cách phát hiện bot tìm kiếm với PHP

Danh sách tên spider của công cụ tìm kiếm có thể được sử dụng làm tham chiếu. Tiếp theo, $_SERVER['HTTP_USER_AGENT'] có thể được sử dụng để kiểm tra xem agent có phải là spider (bot) hay không.

Dưới đây là ví dụ minh họa:

if(strstr(strtolower($_SERVER['HTTP_USER_AGENT']), "some_bot_name")) { 
    // các bước khác cần thiết 
}

Giải thích mã − Agent, cùng với user agent được truyền cho hàm strtolower, đầu ra của nó lại được truyền cho hàm strstr. Cả user agent và bot đều được so sánh để xem spider có phải là bot hay không.

Một tùy chọn khác được hiển thị dưới đây:

function _bot_detected() { 
    return ( 
        isset($_SERVER['HTTP_USER_AGENT']) 
        && preg_match('/bot|crawl|slurp|spider|mediapartners/i', $_SERVER['HTTP_USER_AGENT']); 
    ) 
}

Giải thích mã − Hàm preg_match giúp tìm các mẫu cụ thể trong chuỗi. Cho hàm preg_match, tên bot được truyền và nó được so sánh với user agent để phát hiện xem spider có phải là bot tìm kiếm hay không.