2015-06-01 11 views
9

Tôi đã đọc một bài viết về việc bỏ qua các rô bốt từ một số url trong dự án ASP MVC.NET của tôi. Trong tác giả bài viết của mình nói rằng chúng ta nên thêm một số hành động trong một số bộ điều khiển tắt như thế này. Trong ví dụ này, ông cho biết thêm hành động để điều khiển Trang chủ:Tệp Robots.txt trong MVC.NET 4

#region -- Robots() Method -- 
public ActionResult Robots() 
{ 
    Response.ContentType = "text/plain"; 
    return View(); 
} 
#endregion 

thì chúng ta nên thêm một file Robots.cshtml trong dự án của chúng tôi với cơ thể này

@{ 
    Layout = null; 
} 
# robots.txt for @this.Request.Url.Host 

User-agent: * 
Disallow: /Administration/ 
Disallow: /Account/ 

và cuối cùng là chúng ta nên thêm dòng mã này cho câu hỏi của tôi Gloabal.asax

routes.MapRoute("Robots.txt", 
       "robots.txt", 
       new { controller = "Home", action = "Robots" }); 

là mà robot thu thập dữ liệu điều khiển đã [Authorization] thuộc tính như Administration?

+2

Đối với những người, những người cố gắng sử dụng mã ở trên: nó hoạt động, nhưng bạn phải kích hoạt rằng đường dẫn "robots.txt" được xử lý bởi các tuyến MVC trong web.conf của bạn, hãy xem: http://stackoverflow.com/a/31871043/466935 – Gerwald

Trả lời

7

làm robot thu thập dữ liệu điều khiển trong đó có [Authorization] thuộc tính như Quản trị

Nếu họ tìm thấy một liên kết đến nó, họ có khả năng để thử và bóc tách nó, nhưng họ sẽ không giống như bất cứ ai có trình duyệt web không đăng nhập. Robot không có khả năng đặc biệt để truy cập trang web của bạn khác với trình duyệt chuẩn.

Lưu ý rằng robot mà phù hợp với các Robots Exclusion Standard bò URL chính xác

http://mydomain/robots.txt

Bạn có thể tạo một phản ứng cho rằng URL tuy nhiên bạn muốn. Một cách tiếp cận chắc chắn là có một bộ điều khiển xử lý yêu cầu đó. Bạn cũng có thể chỉ cần thêm tệp văn bản có cùng nội dung bạn đã trả về từ bộ điều khiển, ví dụ:

User-agent: * 
Disallow: /Administration/ 
Disallow: /Account/ 

vào thư mục gốc của dự án và đảm bảo nó được đánh dấu là nội dung để nó được triển khai đến trang web.

Việc thêm mục nhập robots.txt này sẽ ngăn không cho robot tuân thủ các trình điều khiển yêu cầu xác thực (và làm nhẹ tải trên trang web của bạn một chút), nhưng không có tệp rô bốt, chúng sẽ chỉ thử URL và thất bại.

+0

Không có người bạn Trong câu hỏi của tôi, tôi đã đề cập rằng một số Bộ điều khiển riêng không được phép sử dụng rô bốt. Họ có thể thu thập thông tin các bộ điều khiển riêng cần ủy quyền không? –

+0

Không, chúng không thể, không ít hơn ai đó có trình duyệt web có thể thu thập dữ liệu bất kỳ URL nào yêu cầu ủy quyền. Đã cập nhật câu trả lời của tôi. –

+0

Cảm ơn bạn bè của tôi :) –

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