สิทธิ์ในการเข้าไดเรกทอรี - เว็บเซิร์ฟเวอร์ Ubuntu


0

ฉันเพิ่งติดตั้งเซิร์ฟเวอร์เสมือนใหม่เพื่อโฮสต์เว็บไซต์ของฉัน ฉันค่อนข้างใหม่กับระบบที่ใช้ Linux และสิ่งดูแลระบบและด้วยเหตุนี้มีคำถามสองสามข้อเกี่ยวกับการอนุญาตของไฟล์และไดเรกทอรี

เว็บไซต์หลักของฉันตั้งอยู่ใน / var / www และในนั้นฉันมีไดเรกทอรีที่ฉันเก็บสคริปต์ PHP ไว้ไม่กี่รายการซึ่งหนึ่งในนั้นมีรายละเอียดการเชื่อมต่อกับฐานข้อมูล สิ่งที่ฉันต้องการทำคือให้แน่ใจว่าไม่มีใครสามารถเข้าถึงสคริปต์เหล่านี้ได้โดยไปที่ www.mydomain.co.uk/mydir แต่ผู้ใช้ www-data ยังสามารถเข้าถึงได้เพื่อให้สามารถเรียกและดำเนินการจากหน้าอื่น ๆ บน เว็บไซต์.

ความคิดเริ่มต้นของฉันคือการเปลี่ยนการอนุญาตในไฟล์เป็น 400; อย่างไรก็ตามฉันไม่รู้จะทำอย่างไรเกี่ยวกับการอนุญาตของไดเรกทอรี

ฉันจะเปลี่ยนการอนุญาตในไดเรกทอรีได้อย่างไรเพื่อให้ไฟล์ที่อยู่ในนั้นสามารถเรียกใช้งานได้ แต่คนไม่เห็นเมื่อพวกเขาเข้าชม www.mydomain.co.uk/mydir

คำตอบ:


1

คุณสามารถแก้ไขได้ผ่านการกำหนดค่า apache ดูhttp://httpd.apache.org/docs/2.2/howto/access.html

ใช้

<Directory /mydir>
    Order deny,allow
    Deny from all
</Directory>

, การเข้าถึงจากภายนอกไปยังไดเร็กตอรี่ถูกปิดกั้น, แต่สคริปต์ PHP ยังคงได้รับอนุญาตให้เข้าถึงได้


ขอบคุณ etagenkio นั่นคือสิ่งที่ฉันกำลังมองหา
Martyn

1

สแต็ค Apache / PHP ที่ตั้งค่าไว้อย่างถูกต้องจะไม่อนุญาตให้ไฟล์. php ที่มีรายละเอียดฐานข้อมูลของคุณถูกส่งออกไปยังเบราว์เซอร์เพราะมันจะตีความว่าเป็นสคริปต์. php และไม่ใช่ข้อความ ดังนั้นหากมีคนสะดุดไดเรกทอรีหรือไฟล์นั้นพวกเขาจะไม่เห็นการเข้าสู่ระบบฐานข้อมูล - อีกครั้งให้ Apache มีการกำหนดค่าอย่างถูกต้องและไม่มีข้อผิดพลาดในสคริปต์ของคุณ

อย่างไรก็ตามเป็นแนวปฏิบัติที่ดีในการวางสคริปต์ในไดเรกทอรีอื่นจากไดเรกทอรีสาธารณะซึ่งไม่ได้ให้บริการโดยตรงโดย Apache คำตอบที่เป็นประโยชน์มากมายมีอยู่ใน Stackoverflow ด้วยการค้นหาบางส่วนนี่คือคำตอบเดียว:

https://stackoverflow.com/questions/2573496/help-securing-files-access-with-htaccess-and-php

แก้ไข:

เเละอีกอย่าง.

https://stackoverflow.com/questions/6524565/php-file-security-on-webserver

นอกจากนี้หากคุณจริงจังกับการเรียนรู้ PHP ฉันจะตรวจสอบกรอบบางอย่างเพื่อเรียนรู้ในขณะที่คุณกำลังเรียนรู้ภาษาซึ่งช่วยจัดการบางสิ่งนี้ให้คุณและให้ความปลอดภัยในพื้นที่ที่คุณไม่ทราบว่าคุณต้องการ . PHP ไม่ใช่ภาษาที่ไม่ปลอดภัยอย่างแน่นอน แต่มันง่ายมากที่จะเขียนแอปพลิเคชันที่ไม่ปลอดภัย

http://www.yiiframework.com/

http://ellislab.com/codeigniter


0

ถ้าคุณมี index.php มันไม่สำคัญว่าจะไปที่ / var / www / mydir เพราะมันจะแสดงเฉพาะสิ่งที่อยู่ใน index.php ..


พวกเขาไม่สามารถแสดงรายการไดเรกทอรีได้ แต่พวกเขายังสามารถเดาชื่อแบบสุ่มและลองรับไฟล์ได้ นี่จะไม่ทำสิ่งที่ OQ ตั้งใจ
Rich Homolka

จริงฉันเดา ive ไม่เคยกังวลเลย!
แดชบอร์ด
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.