Score:1

แทนที่ AuthUserFile ด้วยรหัสผ่านเองหรืออ้างอิงเส้นทางสัมพัทธ์ไปยังโฟลเดอร์

ธง br

ฉันมีสคริปต์ PHP ที่สร้างไดเร็กทอรี 100 รายการ และในไดเร็กทอรีเหล่านี้มีไฟล์ CSV ฉันสามารถป้องกันไฟล์ CSV เหล่านี้ได้โดยใช้ AuthUserFile หากไฟล์นั้นชี้ไปที่ไฟล์ .htpasswd ที่สมบูรณ์ แต่ฉันต้องการชี้ไปที่ .htpasswd ที่สร้างขึ้นเองในแต่ละไดเร็กทอรีเหล่านี้

  • มีวิธีแทนที่: AuthUserFile ด้วยรหัสผ่านเอง? ฉันได้สร้างไว้ล่วงหน้าในสคริปต์ PHP ของฉันแล้ว
  • หรือฉันจะอ้างอิงไฟล์ .htpasswd ในไดเร็กทอรีเดียวกันได้อย่างไร การดำเนินการต่อไปนี้ไม่ได้ผล: AuthUserFile './htpasswd'
Score:0
ธง kz
  • มีวิธีแทนที่: AuthUserFile ด้วยรหัสผ่านเอง? ฉันได้สร้างไว้ล่วงหน้าในสคริปต์ PHP ของฉันแล้ว
  • หรือฉันจะอ้างอิงไฟล์ .htpasswd ในไดเร็กทอรีเดียวกันได้อย่างไร การดำเนินการต่อไปนี้ไม่ได้ผล: AuthUserFile './htpasswd'

คุณไม่สามารถทำทั้งสองอย่างได้ AuthUserFile (เช่น การพิสูจน์ตัวตน HTTP) ต้องการพาธไฟล์แบบสัมบูรณ์ (หรือพาธสัมพัทธ์ไปยังไฟล์ ServerRoot) และ การแสดงออกของอาปาเช่ ไม่รองรับไวยากรณ์เพื่อสร้าง AFAIK "ไดนามิก" นี้ (เช่นเดียวกับคำสั่งอื่น ๆ ใน Apache 2.4 เช่น เอกสารข้อผิดพลาด).

อย่างไรก็ตาม เนื่องจากคุณกำลังสร้างไดเร็กทอรี คุณจึงน่าจะสร้างไดเร็กทอรีได้ .htaccess(?) ไฟล์และไฟล์ที่เกี่ยวข้อง .htpasswd ไฟล์สำหรับแต่ละไดเรกทอรี? อย่างไรก็ตาม, .htpasswd ไฟล์ควร ไม่เคย ถูกจัดเก็บไว้ในไดเร็กทอรีที่พวกเขาปกป้อง หรือแม้แต่ในพื้นที่ HTML สาธารณะ ควรเก็บไว้นอกแผนผังไดเร็กทอรีสาธารณะเหนือรูทเอกสาร (และเดิมทีคุณต้องการหลีกเลี่ยงหลายรายการ .htaccess ไฟล์แม้ว่าจะมีไฟล์ คำแนะนำ ผมไม่แน่ใจ?)

อีกทางเลือกหนึ่ง เนื่องจากคุณใช้ PHP ในการสร้างไดเร็กทอรีเหล่านี้อยู่แล้ว และสคริปต์ PHP ของคุณรู้รหัสผ่านที่เกี่ยวข้องอยู่แล้ว เหตุใดจึงไม่ใช้ PHP เพื่อจัดการการเข้าถึงไฟล์ CSV

ตัวอย่างเช่น:

  1. ใช้ Apache mod_rewrite เพื่อเขียนคำขอใหม่ภายในสำหรับ "ป้องกัน" ใด ๆ .csv ไฟล์ไปยังสคริปต์ PHP ตัวอย่างเช่น:

    RewriteEngine เปิดอยู่
    
    # คำขอทั้งหมดสำหรับไฟล์ ".csv" ในแผนผัง dir "/foo/" จะถูกส่งไปยัง "/serve-csv.php"
    RewriteRule ^/?foo/.+\.csv$ /serve-csv.php [L]
    
  2. สคริปต์ PHP รู้ว่าไฟล์ถูกร้องขอ (เช่น $_SERVER['REQUEST_URI']) และผู้ใช้/รหัสผ่านที่ได้รับอนุญาตให้เข้าถึงไฟล์นี้

  3. PHP สามารถจัดการ HTTP Basic Authentication (นั้น ดูเหมือนว่าคุณกำลังใช้อยู่) หรือใช้อินเทอร์เฟซการรับรองความถูกต้องของคุณเอง (แบบฟอร์ม HTML เป็นต้น)

  4. หากผู้ใช้ได้รับการรับรองความถูกต้องแล้ว PHP จะอ่านไฟล์ที่ร้องขอและให้บริการแก่ลูกค้า

โพสต์คำตอบ

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