2010-10-27 41 views

Trả lời

22

Cách thích hợp để làm điều đó là sử dụng này:

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

này cho phép bạn vẫn truy cập các tập tập trung tại đây từ tài khoản IUSR, nhưng ngăn các yêu cầu thực sự cho các tệp ở đó được điền trực tiếp. Lưu ý rằng điều này sẽ chặn các tệp trong thư mục đó và bất kỳ thư mục con nào, bất kể thư mục đó xảy ra ở đâu - ngay cả khi thư mục đó là thư mục con của thư mục khác.

+0

Mã trên phải được đặt trong tệp web.config trong cùng thư mục với thư mục bạn muốn từ chối truy cập. Tôi đã thử nghiệm đặt nó trong web.config cấp cơ sở của tôi và nó đã chặn quyền truy cập vào toàn bộ trang web. Đặt nó trong một tệp web.config riêng biệt trong cùng một thư mục trả về lỗi 404 khi cố gắng truy cập vào thư mục (mặc dù tôi chắc chắn loại lỗi mà nó trả về có thể được thay đổi trong IIS). – Tiffany

1

Xóa quyền IIS_IUSR khỏi thư mục đó.

Tôi nghĩ rằng nó quát theo "Internet Khách Account"

+3

Nếu bạn làm rằng, bạn cũng có thể chặn bất kỳ khả năng truy cập các tệp đó qua ứng dụng web, điều này có thể không phải là mục đích. –

+0

Tôi loại bỏ IIS_IUSR sẽ làm việc trong trường hợp của tôi, tôi muốn lưu người dùng tải lên, bây giờ tôi đang lưu chúng vào một nơi nào đó bên ngoài thư mục trang web trên ổ c: và thư mục tải lên này không có quyền IIS_IUSR và tôi vẫn có thể truy cập nó từ mã trang web của tôi. –

2

Khi câu trả lời chỉ liên kết chỉ ra, hiddenSegments là công cụ phù hợp cho công việc. Truy cập IIS sau đó là site và trong Features tìm Request Filtering (phải được cài đặt tại Server Manager) hiện thêm tên thư mục mà bạn muốn ngăn truy cập hoặc bất kỳ phân đoạn nào của URL thực sự. Cách tiếp cận này không yêu cầu một địa chỉ duy nhất hoặc tên thư mục được sử dụng trong trang web, nếu không bất kỳ lần xuất hiện khác của phân khúc này ở mọi cấp độ trong url, sẽ gây ra yêu cầu đó bị chặn:

http://www.iis.net/configreference/system.webserver/security/requestfiltering/hiddensegments

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