ทางออกที่ง่ายสำหรับการ จำกัด การเข้าถึง (บางส่วน) การอัพโหลด / ดาวน์โหลด


11

สถานการณ์เริ่มต้น

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

หมายเหตุเพิ่มเติม

โดยทั่วไปแล้วไม่ใช่ความคิดที่ดีที่จะปรับปรุงความปลอดภัยของการติดตั้ง wordpress ของคุณ - เช่นการป้องกันของคุณwp-config.php- มีหลายสิ่งที่คุณสามารถทำได้และควรทำ มีข้อมูลมากมายเกี่ยวกับวิธีการทำ ฉันอยู่ในบริบทของคำถามนี้ส่วนใหญ่กังวลเกี่ยวกับการอัปโหลด / ดาวน์โหลดของฉัน

การอัปโหลด Wordpress ไม่ปลอดภัยทุกคนสามารถเรียกดูuploadsโฟลเดอร์ได้เว้นแต่คุณจะป้องกันด้วย.htaccess:

Options All -Indexes

.htaccessไฟล์จะต้องมีการวางไว้ภายในuploadsโฟลเดอร์ แต่นั่นไม่ใช่การรักษาความปลอดภัยจริงๆมันแค่ทำให้การค้นหาไฟล์ทำได้ยากขึ้น นอกจากนี้คุณสามารถป้องกันไม่ให้hotlinkingมีการ จำกัด การเข้าถึงตามปกติreferrer- แม้ว่ามันจะแตกต่างกันเล็กน้อย แต่ฉันคิดว่าฉันพูดถึงมัน แต่ฉันไม่ได้อธิบายเพิ่มเติมคุณสามารถค้นหาข้อมูลมากมายเกี่ยวกับเรื่องนั้น

แน่นอนว่ามีความเป็นไปได้ที่จะทำให้โพสต์เป็นส่วนตัวหรือสร้างประเภทโพสต์ที่กำหนดเองพร้อมกับไฟล์เทมเพลตที่เหมาะสมเพื่อให้โพสต์ประเภทนั้นเป็นส่วนตัว แต่นั่นไม่ได้รักษาความปลอดภัยไฟล์ของคุณ เดียวกันสามารถกล่าวว่าสำหรับการตัดไฟล์ในเงื่อนไขเหมือนหรือis_user_logged_in()is_admin()

ใน sidenote มีปลั๊กอินจำนวนมากอยู่ที่นั่นซึ่งสัญญาว่าจะทำให้ไฟล์ของคุณปลอดภัยและได้รับการปกป้อง แต่ส่วนมากพวกเขาแสร้งทำเช่นนั้นด้วยเหตุผลบางอย่างข้างต้น ฉันแค่เขียนมันออกมาเพราะฉันค่อนข้างแน่ใจว่ามันไม่ได้เป็นที่รู้จักของทุกคน - ดังนั้นระวังให้ดี

วัตถุประสงค์

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

นอกจากนี้ฉันไม่จำเป็นต้องแปรรูปทั้งไซต์แน่นอนว่าจะเป็นการต่อต้าน - มันถูกใช้เพื่อวัตถุประสงค์ในการนำเสนอสู่สาธารณะ ยิ่งไปกว่านั้นฉันต้องการโซลูชันที่สามารถใช้งานได้ง่ายด้วยเหตุผลง่ายๆที่บางคนทำงานกับมันไม่ใช่ผู้เชี่ยวชาญด้านคอมพิวเตอร์อย่างแท้จริงเนื่องจากมักเป็นเช่นนั้น

คำถาม

ดังนั้นคำถามมีวิธีที่ค่อนข้างง่ายในการ จำกัด การเข้าถึง (บางส่วน) อัพโหลดและการดาวน์โหลดที่เกี่ยวข้องหรือไม่ และเช่นเดียวกับที่ฉันดำเนินการนั่นหมายถึงวิธีปกป้องและปกป้องพวกเขาอย่างแท้จริงหรือไม่?


คุณควรเพิ่มโซลูชันของคุณเป็นคำตอบแทนที่จะฝังไว้ในคำถาม
s_ha_dum

และโปรดใช้ตัวอักษรพิมพ์ใหญ่ - เล็กที่เหมาะสม อ่านเหมือนการแชท ...
kaiser

ขอบคุณสำหรับคำวิจารณ์ที่สร้างสรรค์ฉันจะแก้ไขและปรับโครงสร้างใหม่ในไม่ช้า
Nicolai

คำตอบ:


8

ฉันขอตอบคำถามของฉันเองเพราะฉันพบวิธีแก้ปัญหา แต่ฉันสนใจความคิดเห็นของคุณที่มีต่อมันจริงๆ หรือบางทีคุณอาจมีทางออกที่ดีกว่านี้ถ้าเป็นเช่นนั้นฉันอยากจะลองเกี่ยวกับสิ่งนี้

ผลการวิจัย

ผลการวิจัยของฉันคือ:
1. รับไฟล์ที่อยู่นอกรูทเอกสาร, wwwโฟลเดอร์;
2. ไม่อนุญาตให้เข้าถึงโฟลเดอร์ที่มีไฟล์โดยตรง
3. ให้สคริปต์จัดการคำขอไปยังไฟล์
แหล่งที่มาสำหรับประเด็นเหล่านั้นส่วนใหญ่จะรวมอยู่ในคำถามของฉัน

สารละลาย

  1. ฉันติดตั้งปลั๊กอิน» wp-downloadmanager «
    • โฟลเดอร์ที่เรียกว่าfilesจะถูกสร้างขึ้นภายในwp-contentในกระบวนการ;
  2. ฉันเพิ่ม.htaccessไฟล์ลงในfilesโฟลเดอร์ใหม่:
    • เนื้อหาของ.htaccess:
      Options All -Indexes
      Order Deny,Allow
      Deny from all
  3. ฉันเปลี่ยนหนึ่งในตัวเลือกที่สำคัญของปลั๊กอิน:
    • ตัวเลือกที่ฉันหมายถึงคือdownload method;
    • ฉันเปลี่ยนเป็นoutput file;
  4. ฉันเพิ่มบางไฟล์ผ่านส่วนต่อประสานปลั๊กอิน:
    • มีตัวเลือกที่เรียกว่าallowed to download;
    • ซึ่งอนุญาตให้ จำกัด การเข้าถึงตามบทบาท / ความสามารถของผู้ใช้
  5. ฉันทำการทดสอบบางอย่าง:
    • ไม่มีการเข้าถึงไฟล์โดยตรง - ไม่เกิน addressbar หรือ wget;
    • การดาวน์โหลดสาธารณะสามารถเข้าถึงได้ผ่านทางลิงก์ถาวร - ฉันเลือก»ลิงก์ถาวรที่ดี: ใช่«และ» URL การดาวน์โหลด: รหัสไฟล์«บนแผงตัวเลือก - แถบที่อยู่ / wget ก็ทำงานเช่นกัน
    • การดาวน์โหลดที่ได้รับการป้องกันและ จำกัด จะสามารถเข้าถึงได้ก็ต่อเมื่อเข้าสู่ระบบในฐานะผู้ใช้ที่มีบทบาท / ความสามารถที่ถูกต้อง

สรุปความคิด

ฉันคิดว่าวิธีการแก้ปัญหาค่อนข้างตามผลการวิจัย นอกเหนือจากการวางไฟล์ภายนอก แต่การ จำกัด การเข้าถึง / ป้องกันไดเรกทอรีและให้คำขอไฟล์จัดการสคริปต์เต็ม ข้อ จำกัด ของการเข้าถึงจะถูกจัดการโดยและสคริปต์ในกรณีนี้เป็นปลั๊กอิน.htaccesswp-downloadmanger

หมายเหตุเพิ่มเติม

  • มันเป็นสิ่งจำเป็นอย่างยิ่งที่จะเปลี่ยนdownload methodไปoutput file
  • และแน่นอนว่ามันต้องเป็น.htaccessไฟล์ที่มีอยู่

  • เพื่อตรวจสอบความจริงที่ว่าปลั๊กอินใช้งานมากกว่าบทบาทของสคริปต์ลองดูที่wp-downloadmanger.php- เกี่ยวกับบรรทัด 207 ถึง 227 (เวอร์ชัน 1.6.1); นี่หมายถึงจุดเสริมที่เชื่อมโยงกับข้อมูล

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