สวัสดี ฉันกำลังสร้างโปรเจ็กต์ 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