2011-09-22 18 views
5

Tôi muốn biết sự khác biệt giữa các quy tắc và đó là hiệu quả nhất để ngăn chặn libwww-perl với .htaccess tập tinSự khác nhau giữa quy tắc Apache để chặn libwww-perl

SetEnvIfNoCase User-Agent "libwww-perl" bad_bot 
Order Deny,Allow 
Deny from env=bad_bot 

hoặc

RewriteCond %{HTTP_USER_AGENT} libwww-perl.* 
RewriteRule .* – [F,L] 

Cảm ơn bạn!

Trả lời

0

Về mặt chức năng, tôi nghĩ chúng giống nhau, với một số ưu và khuyết điểm nhỏ. Tuy nhiên, trước đây có lẽ là di động hơn, vì bạn sẽ không phải lo lắng về việc mod_rewrite đang được cài đặt trên máy chủ nếu bạn di chuyển trang web tại một thời điểm nào đó trong tương lai.

Đương nhiên, nếu bạn có các quy tắc mod_rewrite khác, điều này sẽ không tạo ra nhiều khác biệt cho bạn.

Bạn cũng có một ký tự đại diện được thiết lập trong quy tắc mod_rewrite, không có trong SetEnvIfNoCase. Tôi hiểu điều này là có thể làm điều này cũng có, và nó có thể là khôn ngoan để làm như vậy, kể từ khi bạn có thể bắt các phiên bản libwww khác nhau.

Tôi chắc chắn bạn biết libwww-perl có thể gửi chuỗi tác nhân người dùng tùy ý, vì vậy sẽ không dừng xác định.

Các vấn đề liên quan