PHP open_baseir.php คืออะไร
มันจำกัดไฟล์ที่ PHP สามารถเข้าถึงได้ตามที่ระบุ
ไดเร็กทอรีทรี รวมทั้งตัวไฟล์ด้วย คำสั่งนี้ ไม่ใช่
ได้รับผลกระทบ ไม่ว่าจะเปิดหรือปิด Safe Mode
เมื่อสคริปต์พยายามเข้าถึงระบบไฟล์ เช่น ใช้
รวมถึงหรือ fopen() มีการตรวจสอบตำแหน่งของไฟล์ เมื่อ
ไฟล์อยู่นอกไดเร็กทอรีทรีที่ระบุ PHP จะปฏิเสธ
เข้าถึงมัน ลิงก์สัญลักษณ์ทั้งหมดได้รับการแก้ไข ดังนั้นจึงเป็นไปไม่ได้
หลีกเลี่ยงข้อจำกัดนี้ด้วย symlink หากไม่มีไฟล์อยู่
ไม่สามารถแก้ไข symlink และชื่อไฟล์ถูกเปรียบเทียบกับ (a
แก้ไขแล้ว) open_baseir
open_baseir สามารถส่งผลกระทบมากกว่าแค่ฟังก์ชั่นระบบไฟล์ สำหรับ
ตัวอย่าง ถ้ากำหนดค่า MySQL ให้ใช้ไดรเวอร์ mysqlnd ให้โหลดข้อมูล
INFILE จะได้รับผลกระทบจาก open_baseir ขยายออกไปมากแล้ว
การทำงานของ PHP ใช้ open_baseir ด้วยวิธีนี้
ค่าพิเศษ. ระบุว่าไดเร็กทอรีการทำงานของสคริปต์
จะถูกใช้เป็นไดเร็กทอรีฐาน อย่างไรก็ตาม นี่เป็นเรื่องเล็กน้อย
อันตรายเนื่องจากไดเร็กทอรีการทำงานของสคริปต์สามารถเปลี่ยนแปลงได้ง่าย
ด้วย chdir()
ใน httpd.conf สามารถปิด open_basedir ได้ (เช่น สำหรับ virtual
โฮสต์) เช่นเดียวกับคำสั่งการกำหนดค่าอื่น ๆ ด้วย
"php_admin_value open_baseir ไม่มี"
ภายใต้ Windows แยกไดเร็กทอรีด้วยเครื่องหมายอัฒภาค อื่น ๆ ทั้งหมด
ระบบ คั่นไดเร็กทอรีด้วยเครื่องหมายทวิภาค ในฐานะโมดูล Apache
ตอนนี้เส้นทาง open_basedir จากไดเร็กทอรีหลักจะทำงานโดยอัตโนมัติ
รับการถ่ายทอด.
ข้อจำกัดที่ระบุด้วย open_basedir คือชื่อไดเร็กทอรี ไม่ใช่ a
คำนำหน้า
ค่าเริ่มต้นคืออนุญาตให้เปิดไฟล์ทั้งหมด
อ้างอิง PHP.NET, 1
บทสรุป
คุณใช้ open_baseir และคุณไม่ได้อัปเดตเส้นทาง
นอกจากนี้ ฉันเชื่อว่าคุณควรถามคำถามนี้กับ Superuser เนื่องจากหลักฐานระบุว่าคุณไม่ได้ใช้สภาพแวดล้อมที่เกี่ยวข้องกับธุรกิจ
php.ini (บนเดเบียน 10)
; open_baseir หากตั้งค่าไว้ จะจำกัดการทำงานของไฟล์ทั้งหมดไว้ที่ไดเร็กทอรีที่กำหนด
; และด้านล่าง คำสั่งนี้เหมาะสมที่สุดหากใช้ในแต่ละไดเร็กทอรี
; หรือไฟล์คอนฟิกูเรชันเว็บเซิร์ฟเวอร์ต่อ virtualhost
; หมายเหตุ: ปิดใช้งานแคชของเส้นทางจริง
; http://php.net/open-basedir
;open_baseir =
ตัวอย่างจากด้านบนคือการตั้งค่า DEFAULT บน Debian 10 ซึ่งโดยปกติจะเป็นค่าเริ่มต้นบน php.net ด้วย ซึ่งหมายความว่าคุณได้เปลี่ยนมันเช่นกัน ด้วยตนเอง. หรือสิ่งที่ฉันเชื่อ เนื่องจากชื่อพาธรวม "panel_ssl_site" คือฉันคิดว่าคุณกำลังใช้ Admin-Panel และสิ่งนี้ทำให้คำถามนี้เข้าสู่ OFF-TOPIC อย่างไรก็ตาม แผงการดูแลระบบทุกแผงควรเปลี่ยนการตั้งค่านี้ได้เช่นกัน ดูข้อมูลอ้างอิง StackOverflow ไปที่ปัญหาเดียวกัน