it-swarm-vi.com

Có một chỉ mục của các địa chỉ IP được sử dụng bởi các bot lập chỉ mục?

Tôi có một trang nhận được lưu lượng tối thiểu, nhưng tôi thiết lập thông báo tĩnh khi trang bị tấn công. Bây giờ, tôi muốn các bot bị bỏ qua, vì vậy những gì tôi đang làm bây giờ là thêm các bot tôi thấy vào danh sách "không thông báo".

Có một danh sách tham khảo các địa chỉ IP được sử dụng bởi các robot lập chỉ mục không?

ví dụ: một danh sách như:

$no_mail = array(
    '67.195.115.105', // yahoo bot
    '207.46.199.50', // msn bot
    '61.135.249.246', //youdao bot
    '207.46.199.32', // msn bot
);
7
artlung

http://www.user-agents.org/ có thể là những gì bạn đang tìm kiếm.

5
Frank Robert Anderson

Tất cả các công cụ tìm kiếm sử dụng một số lượng lớn địa chỉ IP. Thay vào đó, bạn sẽ muốn nhìn vào chuỗi tác nhân người dùng. Kiểm tra trang này để biết danh sách tốt tất cả các trình thu thập thông tin.

Trong PHP, một cái gì đó như thế này sẽ hoạt động:

$bots = array( 'googlebot', 'msnbot', 'Slurp', 'mediapartners-google' );
$isRobot = false;
$ua = strtolower( $_SERVER['HTTP_USER_AGENT'] );

foreach ( $bots as $bot ) {
  if ( strpos( $ua, $bot ) !== false )
    $isRobot = true;
}

if ( !$isRobot ) {
  // do your thing
}
2
DisgruntledGoat

Tại sao bạn không đặt cái này vào tệp robot.txt?

User-agent: *
Disallow: /path/page-you-dont-want-crawled.html

Bằng cách đó, bạn sẽ không cần phải tiếp tục săn tìm bot. Tôi sẽ đặt cược bất cứ thứ gì mà Google, Yahoo và MSN có hàng trăm bot và chúng có thể có các địa chỉ IP khác nhau và những địa chỉ mới được tạo ra mọi lúc. Thêm vào ở trên sẽ làm tương tự cho trang tập tin của bạn mà không gặp rắc rối.

1
Ben Hoffman

Có một số mã để nhận ra bot tại http://ekstreme.com/phplabs/search-engine-authentication (cũng như bài viết của Trung tâm trợ giúp của Google tại http://www.google .com/support/webmaster/bin/answer.py? answer = 8055 khi xác minh Googlebot). Ngoài ra còn có một số mã tại http://ekstreme.com/phplabs/crawlercontroll.php có thể được sử dụng để nhận ra các trình thu thập thông tin, bạn có thể dễ dàng mở rộng để nhận ra các trình thu thập thông tin "tốt" cũng như các trình thu thập dữ liệu nó nhận ra bây giờ.

Nói chung, điều quan trọng là không chỉ dựa vào tên tác nhân người dùng hoặc địa chỉ IP, vì một số tác nhân người dùng có thể được sử dụng bởi người dùng bình thường và một số địa chỉ IP có thể được chia sẻ.

Điều đó nói rằng, nếu bạn chỉ sử dụng điều này cho thông báo qua email, có lẽ tôi chỉ cần bỏ qua các mẫu đơn giản được biết đến trong tác nhân người dùng và sống với các kết quả dương tính giả & phủ định sai. Kiểm tra tệp nhật ký của bạn để biết các trình thu thập thông tin phổ biến nhất đang hoạt động trên trang web của bạn và chỉ cần kiểm tra một phần duy nhất của tên tác nhân người dùng (có thể chỉ cần sử dụng "googlebot | Slurp | msnbot | bingbot").

1
John Mueller

Bằng cách này hay cách khác nếu bạn nghiêm túc trong việc lọc ra các bot, bạn cũng sẽ cần phải thực hiện một số danh sách địa phương. Đôi khi IP dường như ngẫu nhiên bị ám ảnh bởi một trang web tôi đang quản lý. Các dự án đại học, các bot được triển khai kém có vẻ thử nghiệm nhưng thường không được công nhận, những thứ đó.

Ngoài ra: bot Cuil (Twiceler) là ác quỷ.

1
Thomas

Bạn có thể truy cập useragent? Đối với tôi, đó có vẻ là một cách tốt hơn để tìm ra ai là người dùng thực sự và bot là gì - nó sẽ linh hoạt hơn đối với các trình thu thập thông tin hợp pháp thay đổi địa chỉ và nếu có bất cứ điều gì giả mạo như một bot, bạn có thể không muốn nhận email dù sao.

0
Cebjyre

Thử đi...

$UI_Agent = $_SERVER['HTTP_USER_AGENT'];

if(eregi("bot", $UI_Agent)) {
    // do your bot stuff here
}

HTH, nụ

0
Bud