Score:0

ไฟล์ laravel .env ของฉันสามารถดาวน์โหลดได้ผ่านการเข้าถึง ip! จะแก้ปัญหานี้บนเซิร์ฟเวอร์ litespeed ได้อย่างไร?

ธง cn

สวัสดี ฉันกำลังสร้างโปรเจ็กต์ laravel ใหม่ด้วยเซิร์ฟเวอร์ Openlitespeed และฉันเห็นปัญหาด้านความปลอดภัยที่เห็นได้ชัด ฉันได้เพิ่มกฎต่อไปนี้ใน .htaccess ของไซต์รูทแล้ว และมันก็ใช้ได้ดีโดยการหยุดเมื่อมีคนพยายามดาวน์โหลดไฟล์ .env www.mywebsite.com/.env แต่ที่น่าแปลกใจคือสามารถดาวน์โหลดไฟล์ .env ได้อย่างง่ายดายโดยการเข้าถึง IP ของเซิร์ฟเวอร์ เช่น 127.0.0.1/.env

DirectoryIndex index.php
# ปิดใช้งานรายชื่อไดเรกทอรี
ตัวเลือก -ดัชนี

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        ตัวเลือก -MultiViews -ดัชนี
    </หากโมดูล>

    RewriteEngine เปิดอยู่
    <IfModule mod_ssl.c>
        RewriteCond ลด %{HTTPS}
        RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    </หากโมดูล>

    # จัดการส่วนหัวการให้สิทธิ์
    RewriteCond %{HTTP:การอนุญาต}
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:การอนุญาต}]

    # เปลี่ยนเส้นทางต่อท้ายเครื่องหมายทับถ้าไม่ใช่โฟลเดอร์...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} (.+)/$
    กฎการเขียนซ้ำ ^ %1 [L,R=301]

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

    # ส่งคำขอไปยังตัวควบคุมด้านหน้า...
    RewriteCond %{SCRIPT_FILENAME} !-d
    RewriteCond %{SCRIPT_FILENAME} !-f
    RewriteRule ^ index.php [L]

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

    #RewriteRule !^(สาธารณะ/|index\.php) [NC,F]

    # บล็อกไฟล์ที่ต้องซ่อน // ในที่นี่ระบุนามสกุล .example ของไฟล์
    <ไฟล์ ~ "\.(env|json|config.js|md|gitignore|gitattributes|lock)$">
    คำสั่งอนุญาตปฏิเสธ
    ปฏิเสธจากทั้งหมด
    ตอบสนองทั้งหมด
    </ไฟล์>

    # ในที่นี่ระบุชื่อไฟล์เต็ม sperator '|'
    <ไฟล์ ~ "(ช่างฝีมือ)$">
    คำสั่งอนุญาตปฏิเสธ
    ปฏิเสธจากทั้งหมด
    </ไฟล์>

    <ไฟล์ *.php>
    สั่งซื้อปฏิเสธอนุญาต
    ปฏิเสธจากทั้งหมด
    </ไฟล์>

    <ไฟล์ index.php>
    คำสั่งอนุญาตปฏิเสธ
    อนุญาตจากทั้งหมด
    </ไฟล์>
</หากโมดูล>

โครงสร้างรูทของโครงการ laravel คือสิ่งนี้ https://i.stack.imgur.com/xSuaJ.jpg

ฉันจะแก้ปัญหานี้ได้อย่างไร ฉันมีสิทธิ์เข้าถึงเพื่อแก้ไข httpd_config.conf

Score:0
ธง se

https://openlitespeed.org/kb/access-control/#articleTOC_4 แสดงตัวอย่างวิธีการบล็อกการเข้าถึงไฟล์

สร้างบริบทแบบสแตติกด้วย URI /.env และทำเลที่ตั้ง $DOC_ROOT/.env และตั้งค่าเป็น ไม่ ในการเข้าถึง.

อย่างไรก็ตาม รูทเอกสารของคุณควรเป็น สาธารณะ โฟลเดอร์ตามเอกสาร Laravel หากทำตามที่แนะนำ คุณก็ไม่ต้องกังวลเกี่ยวกับการเข้าถึง .env ไฟล์เนื่องจากจะเป็นหนึ่งระดับเหนือเส้นทางที่ให้บริการโดยเว็บเซิร์ฟเวอร์

user3416348 avatar
cn flag
ขอบคุณสำหรับคำแนะนำ มันทำให้ฉันคิดว่า! และฉันไปตรวจสอบ ฉันติดตั้ง laravel ไม่ถูกต้องบนเซิร์ฟเวอร์ ตอนนี้ก็โอเค! อย่างที่คุณพูด ฉันไม่ต้องการกฎ .htaccess เพื่อบล็อกการเข้าถึง .env เนื่องจากไฟล์เฟรมเวิร์กอยู่เหนือไดเร็กทอรีรูท 1 ระดับ

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา