Điểm:1

Cho phép các tệp được liệt kê khi xem một thư mục nhưng được bảo vệ (thông qua xác thực HTTP) khi được truy cập trực tiếp

lá cờ br

Tôi đã tạo một thư mục được bảo vệ bằng mật khẩu bằng cách sử dụng .htaccess.htpasswd, nhưng các tệp không hiển thị khi tôi truy cập URL thư mục.

tôi có cái này trong .htaccess:

#Bảo vệ nhiều tệp
<FilesMatch "^(.*).csv$">
AuthName "Dấu nhắc hộp thoại"                                                                                                                                                                                       
AuthType cơ bản
AuthUserFile /xxxxx/kiểm tra                                                                                                                                              
#AuthUserFile ".htpasswd"                                                                                                                                                                                      
Yêu cầu người dùng hợp lệ                                                                                                                                                                                             
</FilesMatch>       

Danh sách thư mục - không hiển thị tệp CSV

CẬP NHẬT: Tôi đang bảo vệ các tệp CSV trong thư mục đó. Chúng biến mất khỏi danh sách thư mục khi chỉ thị xác thực đó được đặt. Chúng xuất hiện khi tôi gỡ bỏ nó. Tôi muốn ít nhất có thể xem các tệp trong danh sách thư mục, nhưng khi truy cập các tệp này, nó sẽ đưa ra lời nhắc xác thực.

djdomi avatar
lá cờ za
Điều này có trả lời câu hỏi của bạn không? [cách định cấu hình apache để xem các tệp (\`.\`) ẩn?](https://serverfault.com/questions/245922/how-to-configure-apache-to-view-hidden-files)
lá cờ kz
"khi tôi truy cập _the_ URL" - URL nào? Bạn có các chỉ thị mod_auth... của mình trong một `` vùng chứa, nhưng từ ảnh chụp màn hình của bạn, có vẻ như bạn đang yêu cầu một thư mục? Vui lòng giải thích chính xác những gì bạn đang cố gắng bảo vệ, (những) yêu cầu bạn đang thực hiện và kết quả mong đợi là gì?
Patoshi パトシ avatar
lá cờ br
Tôi đang bảo vệ các tệp CSV trong thư mục đó. Chúng biến mất khi chỉ thị xác thực đó được đặt. Nó hiển thị khi tôi gỡ bỏ nó. Tôi muốn ít nhất có thể xem các tệp, nhưng khi truy cập các tệp này, nó sẽ đưa ra lời nhắc xác thực.
Điểm:1
lá cờ kz

Tôi đang bảo vệ các tệp CSV trong thư mục đó. Chúng biến mất khi chỉ thị xác thực đó được đặt. Nó hiển thị khi tôi gỡ bỏ nó. Tôi muốn ít nhất có thể xem các tệp, nhưng khi truy cập các tệp này, nó sẽ đưa ra lời nhắc xác thực.

Khi một danh sách thư mục được tạo bằng cách sử dụng mod_autoindex, một yêu cầu con nội bộ sẽ được đưa ra cho mỗi tệp xuất hiện trong danh sách thư mục. Khi sử dụng một <FilesMatch "^(.*).csv$"> container thì nó cũng đang được xử lý cho các yêu cầu con này và do đó, mục nhập của các tệp này trong danh sách thư mục cũng bị chặn.

Một thay thế cho việc sử dụng <FilesMatch> chỉ thị là sử dụng một <If> biểu hiện và kiểm tra chống lại YÊU CẦU thay vào đó là biến máy chủ. Điều này sau đó chỉ thành công khi mà .csv các tệp thực sự được người dùng yêu cầu chứ không phải khi duyệt danh sách thư mục.

Ví dụ:

# Danh sách thư mục (mod_autoindex) cần được bật
Tùy chọn + Chỉ mục

# Bảo vệ tệp CSV khỏi bị truy cập nhưng vẫn hiển thị trong danh sách thư mục
<If "%{THE_REQUEST} =~ m#\.csv(\s|\?)#">
AuthName "Dấu nhắc hộp thoại"                                                                                                                                                                                       
AuthType cơ bản
AuthUserFile /xxxxx/kiểm tra                                                                                                                                              
Yêu cầu người dùng hợp lệ                                                                                                                                                                                             
</Nếu>

YÊU CẦU chứa dòng đầu tiên của yêu cầu HTTP. ví dụ. NHẬN /foo/test.csv HTTP/1.1 (trong trường hợp yêu cầu GET cho /foo/test.csv) - và không thay đổi trong suốt yêu cầu. Vì vậy, khi yêu cầu chính thư mục, vd. /foo/ thì khối kèm theo không được xử lý và danh sách các tệp này không bị chặn.

Điều phức tạp thêm là YÊU CẦU chứa toàn bộ URL theo yêu cầu, có thể bao gồm một chuỗi truy vấn. Vì vậy, kiểm tra cho (\s|\?) (tức là khoảng trắng hoặc một nghĩa đen ?) là để tránh việc kiểm tra mật khẩu bị bỏ qua bằng cách chỉ bao gồm một chuỗi truy vấn. ví dụ. /foo/test.csv?anything.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.