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?


7

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 nó 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
);

Tôi không thấy có vấn đề gì với việc lọc các bot (nếu nó không thay đổi bất cứ thứ gì họ thấy) nhưng tại sao bạn lại tự gửi email thay vì chỉ kiểm tra nhật ký máy chủ web hiện tại, tạo tệp nhật ký của riêng bạn hoặc thêm hồ sơ đến bảng db? Tôi nghĩ rằng sẽ rất nhiều rắc rối khi bạn bị cản trở bởi một cái gì đó ... máy chủ thư của bạn sẽ không bị nghiền nát bởi tải. Nó cũng sẽ tiết kiệm rất nhiều thời gian tải trang vì việc tạo thư khá tốn thời gian.
Darryl Hein

Tôi sẽ gửi cho mình một email vì đó là cơ chế tôi muốn sử dụng để được thông báo. Tôi có thể làm điều này bằng cách tailnhập các nhật ký hiện có, nhưng sau đó sẽ không ngay lập tức và tôi không có quyền truy cập vào nhật ký "trực tiếp" với máy chủ được chia sẻ của mình. Và nó không phải là một rắc rối, và điều này không dành cho một trang có lưu lượng truy cập lớn. Tôi cũng thực thi tập lệnh này sau khi trang đã được tải để không có tác động về thời gian tải đối với người dùng. Nếu nó gặp vấn đề về tài nguyên thì đó sẽ là một vấn đề khác.
artlung

Câu trả lời:


5

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


Tài nguyên tốt, mặc dù các địa chỉ IP có trong dữ liệu của họ không đầy đủ. Tuy nhiên, tôi nghĩ rằng việc thêm các chuỗi UA như một thứ tôi kiểm tra là một chiến thắng. Vì vậy, tôi sẽ xem các bot và địa chỉ IP khi cần thiết. Cảm ơn!
artlung

2

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
}

Scrapers và một số trình thu thập thông tin khác che dấu chuỗi tác nhân người dùng và giả vờ là một trình duyệt thực sự. Chỉ cần một cái gì đó để coi chừng.
Nathan Ridley

Điểm tốt. Tôi sẽ sử dụng phương pháp lai, sử dụng chuỗi UA và thêm địa chỉ IP nếu cần.
artlung

1

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.


Có lẽ anh ta vẫn muốn trang có thể tìm kiếm được, chỉ cần không gửi email trừ khi người dùng là người thật.
Cebjyre

1
Chỉ cần một lưu ý: Có rất nhiều bot không tôn trọng tệp robot.txt. Nó sẽ là một khởi đầu để lọc ra các bot hợp pháp, mặc dù.
Truyền thông Virtuosi

Đây có lẽ là cách tốt nhất để làm điều đó. Tôi sử dụng kỹ thuật tương tự để thu hoạch danh sách các bot không tôn trọng robot.txt. @Cebjyre - trang @RandomBen đang mô tả sẽ không có nội dung gì, nó chỉ gửi thư khi một bot lừa đảo bỏ qua robot.txt - người dùng thậm chí sẽ không nhìn thấy nó.
Tim Post

Phải, không phải là một giải pháp hữu ích. Tôi không ngại các bot ghé thăm, tôi chỉ không muốn quan tâm đến chúng vào lúc đó
artlung

@artlung - Bây giờ tôi hiểu bạn đang cố gắng làm gì. Không phải là bạn không muốn bot thu thập dữ liệu. Bạn chỉ không muốn được thông báo khi họ làm.
Ben Hoffman

1

Có một số mã để nhận ra các 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/webmasters/ense. py? answer = 80553 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, mà bạn có thể dễ dàng mở rộng để nhận ra các trình thu thập dữ liệu "tốt" cũng như các trình thu thập dữ liệu hiện có.

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 các thông báo qua email, có lẽ tôi sẽ 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

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ỷ.


0

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, có lẽ bạn không muốn nhận email dù sao.


0

Thử cái này...

$UI_Agent = $_SERVER['HTTP_USER_AGENT'];

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

HTH, nụ


1
Meh. Quá nhiều cho trình duyệt web mới của tôi : bottoms-up.
Tim Post
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.