Điểm:0

Tệp .env laravel của tôi có thể tải xuống qua quyền truy cập ip! Làm cách nào để giải quyết vấn đề này trên máy chủ litespeed?

lá cờ cn

xin chào, tôi đang tạo một dự án laravel mới với máy chủ Openlitespeed và tôi thấy một vấn đề bảo mật nghiêm trọng. Tôi đã thêm quy tắc sau vào .htaccess của thư mục gốc và nó hoạt động tốt bằng cách dừng khi ai đó cố tải xuống tệp .env bằng cách www.mywebsite.com/.env Nhưng thật ngạc nhiên, có thể tải xuống tệp .env dễ dàng bằng cách truy cập IP của máy chủ, ví dụ: 127.0.0.1/.env

Directory Index index.php
# Vô hiệu hóa danh sách thư mục
Tùy chọn -Chỉ mục

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Tùy chọn -MultiViews -Chỉ mục
    </IfModule>

    Viết LạiEngine Trên
    <IfModule mod_ssl.c>
        RewriteCond tắt %{HTTPS}
        RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    </IfModule>

    # Xử lý tiêu đề ủy quyền
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    # Chuyển hướng dấu gạch chéo nếu không phải là thư mục...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} (.+)/$
    RewriteRule ^ %1 [L,R=301]

    RewriteCond %{THE_REQUEST} /index\.php/(.+)\sHTTP [NC]
    RewriteRule ^ /%1 [NE,L,R]

    # Gửi yêu cầu tới bộ điều khiển phía trước...
    RewriteCond %{SCRIPT_FILENAME} !-d
    RewriteCond %{SCRIPT_FILENAME} !-f
    RewriteRule ^ index.php [L]

    RewriteCond %{REQUEST_URI} !^/public/
    RewriteRule ^ index.php [L]

    #RewriteRule !^(public/|index\.php) [NC,F]

    # chặn các tệp cần ẩn // trong đây chỉ định phần mở rộng .example của tệp
    <Files ~ "\.(env|json|config.js|md|gitignore|gitattribut|lock)$">
    Lệnh cho phép, từ chối
    Tư chôi tât cả
    đáp ứng tất cả
    </Tệp>

    # ở đây chỉ định tên tệp đầy đủ sperator '|'
    <Tệp ~ "(nghệ nhân)$">
    Lệnh cho phép, từ chối
    Tư chôi tât cả
    </Tệp>

    <Tệp *.php>
    Lệnh từ chối, cho phép
    Tư chôi tât cả
    </Tệp>

    <Tệp index.php>
    Đặt hàng Cho phép, Từ chối
    cho phép từ tất cả
    </Tệp>
</IfModule>

cấu trúc gốc của dự án laravel là thế này https://i.stack.imgur.com/xSuaJ.jpg

Tôi giải quyết điều này như thế nào? Tôi có quyền chỉnh sửa httpd_config.conf

Điểm:0
lá cờ se

https://openlitespeed.org/kb/access-control/#articleTOC_4 đưa ra ví dụ về cách chặn quyền truy cập vào tệp.

Tạo một bối cảnh tĩnh với URI là /.env và Vị trí đang $DOC_ROOT/.env và đặt nó thành Không trong Có thể truy cập.

Tuy nhiên, gốc tài liệu của bạn phải là công cộng thư mục theo tài liệu của Laravel, nếu nó được thực hiện như họ đề xuất, bạn thậm chí không phải lo lắng về việc truy cập thư mục .env tệp, vì nó sẽ cao hơn một cấp so với đường dẫn do máy chủ web cung cấp.

user3416348 avatar
lá cờ cn
cảm ơn vì mẹo, nó làm tôi suy nghĩ! Và tôi đã đi điều tra, tôi đã cài đặt sai laravel trên máy chủ. Giờ thì ổn rồi! Như bạn đã nói, tôi không cần các quy tắc .htaccess để chặn quyền truy cập vào .env vì các tệp khung nằm trên thư mục gốc 1 cấp

Đă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.