Score:0

ป้องกัน Apache2 ไม่ให้เรียกใช้ CGI ใน Static Directory

ธง cn

ฉันใช้เว็บเซิร์ฟเวอร์ Apache 2 ที่ทำงานบน Ubuntu 20.04 LTS ฉันเปิดใช้งานตัวจัดการ Python CGI สำหรับ /var/www/html ไดเร็กทอรีซึ่งเป็นไฟล์ DocumentRoot. ฉันสงสัยว่าจะแยกไดเร็กทอรีหนึ่งออกจากการเรียกใช้ CGI สำหรับไฟล์ Python ได้อย่างไร
ที่นี่ในการกำหนดค่า CGI ของฉัน:

<Directory "/var/www/html">
    Options +ExecCGI
    AddHandler cgi-script .py
        <IfModule mod_rewrite.c>
                RewriteEngine On
                RewriteCond %{REQUEST_FILENAME} !-d
                RewriteCond %{REQUEST_FILENAME}\.py -f
                RewriteRule ^(.*)$ $1.py
        </IfModule>
</Directory>

<Directory "/var/www/html/static/cdn">
        DirectoryIndex disabled
        Options +Indexes -ExecCGI
        AllowOverride None
        Require all granted
</Directory>

ใน /คงที่/cdn ไดเร็กทอรี ฉันต้องการ .py ไฟล์ที่จะให้บริการเหมือนกับไฟล์สแตติกอื่นๆ แทนที่จะดำเนินการเป็น CGI นี่คือต้นไม้ของ ซีดีเอ็น ไดเรกทอรี:

.
âââ checkForUpdates.exe
âââ checkForUpdates.py
âââ ค้นหา LogErrors
    âââ botCriteria.json
    âââ cleanup.json
    âââ findLogErrors.exe
    âââ version.json

1 ไดเรกทอรี 6 ไฟล์

ฉันสามารถที่จะ ดูดัชนีของไดเร็กทอรีในเว็บเบราว์เซอร์ได้ตามต้องการ ฉันสามารถดูหรือดาวน์โหลดไฟล์ใดๆ จากไดเร็กทอรีนี้ได้ ยกเว้น checkForUpdates.py. เซิร์ฟเวอร์ไม่ได้พยายามดำเนินการเป็น CGI แต่ให้สิทธิ์ 403 checkForUpdates.py จะเหมือนกับไฟล์อื่นๆ:

nbroyles@webserver:/var/www/html/static/cdn$ ls -altr
รวม 15548
-rwxrwxr-x 1 www-data เว็บ 15901526 17 พ.ย. 11:37 น. checkForUpdates.exe
drwxrwxr-x 7 www-data web 4096 19 พ.ย. 11:13 ..
drwxrwxr-x 2 www-ข้อมูลเว็บ 4096 23 ธ.ค. 09:41 findLogErrors
drwxrwxr-x 3 www-data web 4096 23 ธ.ค. 09:49 น.
-rwxrwxr-x 1 www-data web 2072 23 ธ.ค. 09:49 น. checkForUpdates.py

ฉันจะดูได้อย่างไร .py ไฟล์เหมือนกับไฟล์ .json หรือ .exe ไฟล์? ฉันแน่ใจว่ามีบางอย่างที่ฉันขาดหายไปในการกำหนดค่า ความช่วยเหลือใด ๆ ที่ชื่นชมอย่างมาก!

Score:1
ธง jp

คุณต้องเพิ่ม SetHandler ตัวจัดการเริ่มต้น ใน <Directory "/var/www/html/static/cdn">

Noah Broyles avatar
cn flag
ใช้งานได้เพื่อแสดงไฟล์ Python แต่ตอนนี้ดัชนีไม่แสดง
jp flag
จากนั้นเปลี่ยนเป็น `SetHandler default-handler .py`
Noah Broyles avatar
cn flag
`apachectl configtest` แสดงว่า `SetHandler รับหนึ่งอาร์กิวเมนต์ ซึ่งเป็นชื่อตัวจัดการที่แทนที่ตัวจัดการอื่น ๆ ที่กำหนดค่าไว้ ` แต่ฉันเปลี่ยนเป็น `AddHandler ` และทุกอย่างก็เรียบร้อยดี ขอขอบคุณ!

โพสต์คำตอบ

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