Chặn quyền truy cập vào thư mục con bằng Web.config


8

Tôi có một thư mục con trong dự án ASP.NET của tôi có chứa các tệp tiện ích. Chúng cần mã theo thời gian chạy, nhưng tôi không muốn chúng hiển thị trên web.

Cú pháp trong tệp Web.config để chặn quyền truy cập của tất cả người dùng vào một thư mục con duy nhất và tất cả nội dung của nó là gì?

Câu trả lời:


15

IIS 7 có tính năng "lọc yêu cầu" mới. Bạn có thể muốn sử dụng cấu hình phân đoạn ẩn:

<configuration>
 <system.webServer>
  <security>
   <requestFiltering>
    <hiddenSegments>
     <add segment="BIN"/>
    </hiddenSegments>
   </requestFiltering>
  </security>
 </system.webServer>
</configuration>

Điều này khiến http: // yoursite / bin không thể phục vụ được (nhưng http: // yoursite / binary vẫn hoạt động)

Kiểm tra: http://learn.iis.net/page.aspx/143/how-to-use-request-filtering


2
Nhưng điều này cũng sẽ chặn trang web của bạn / bla / bin / test .... :-(
Carsten Schütte

Không phải là một câu trả lời cho câu hỏi nhưng cũng hữu ích cho chủ đề trong tầm tay. Bạn cũng có thể sử dụng HttpHandlers để chặn các phần mở rộng tệp cụ thể mà bạn muốn. Đây cũng là một cách thực hành tốt, ví dụ: chặn mọi tệp nguồn / cơ sở dữ liệu, v.v.
cuộn

1

Vấn đề của bạn là nếu IIS chỉ trả về các tệp thì ASP.Net sẽ không bao giờ có cơ hội can thiệp. Tôi tin rằng nó có thể được thực hiện bằng cách cho phép xác thực dựa trên biểu mẫu và gây rối đáng kể, nhưng tôi chỉ đơn giản là di chuyển các tệp bên ngoài thư mục wwwroot.

JR


0

Điều này sẽ làm việc:

<configuration>
  <location path="FolderName">
    <system.web>
      <authorization>
        <deny users="*"/>
      </authorization>
    </system.web>
  </location>
</configuration>

2
Điều đó không hoạt động vì các tệp là tệp .txt ... Tôi nghĩ rằng John Rennie nói đúng rằng ASP.NET không có cơ hội can thiệp vào các tệp .txt.
Joel Spolsky

Điều đó là tốt để biết, tôi luôn luôn giữ các tệp được phục vụ thông qua các trình xử lý của ASP.NET trong các thư mục của tôi có thể truy cập qua web để tôi không bao giờ gặp phải vấn đề này
John Rasch
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.