Score:0

การเข้าถึงไซต์ตามคุกกี้ของ Apache

ธง fr

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

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

    บันทึกข้อผิดพลาด ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log รวมกัน

    SSLEngine เปิดอยู่
    SSLCertificateFile /etc/apache2/ssl/site.com.pem
    SSLCertificateKeyFile /etc/apache2/ssl/site.com.key
</เวอร์ชวลโฮสต์>

<โฮสต์เสมือน *:443> 
    ชื่อเซิร์ฟเวอร์ site.com
    DocumentRoot /var/www/site.com/html

    <ไดเรกทอรี /var/www/site.com/html/files>
        ตัวเลือก + ดัชนี
       AllowOverride ทั้งหมด
    </ไดเร็กทอรี>

    ProxyRequests ปิด
    ProxyPass /อนุญาต http://localhost:3001
    ProxyPassReverse /อนุญาต http://localhost:3001
</เวอร์ชวลโฮสต์>

<โฮสต์เสมือน *:443>
    ชื่อเซิร์ฟเวอร์ movie.site.com
    ProxyRequests ปิด
    ProxyPass / http://localhost:3000/
    ProxyPassReverse / http://localhost:3000/
</เวอร์ชวลโฮสต์>

<โฮสต์เสมือน *:443>
  ชื่อเซิร์ฟเวอร์ mail.site.com
  DocumentRoot /var/www/site.com/roundcube

  บันทึกข้อผิดพลาด ${APACHE_LOG_DIR}/roundcube-error.log
  CustomLog ${APACHE_LOG_DIR}/roundcube-access.log รวมกัน

  <ไดเร็กทอรี /var/www/roundcube>
      ตัวเลือก -ดัชนี
      AllowOverride ทั้งหมด
      คำสั่งอนุญาตปฏิเสธ
      อนุญาตจากทั้งหมด
  </ไดเร็กทอรี>
</เวอร์ชวลโฮสต์>

แก้ไข: เพื่อชี้แจง ฉันรู้ว่าฉันสามารถทำสิ่งต่อไปนี้เพื่อให้บรรลุสิ่งที่ฉันต้องการ (ในระดับหนึ่ง):

RewriteEngine เปิดอยู่
เขียนซ้ำ %{HTTP_COOKIE} !MYCOOKIE
RewriteRule ^/myhome/content/ - [F]

แต่ฉันจะแน่ใจได้อย่างไรว่าสิ่งนี้มีผลกับ VirtualHost ทุกอัน (เช่น ในทุกโดเมนย่อย) และอ่านคุกกี้เดี่ยวจากไฟล์ด้วย เพื่อที่ฉันจะสามารถแก้ไขได้โดยไม่ต้องรีสตาร์ท apache

ขอขอบคุณ!

kz flag
"ฉันเก็บคุกกี้เดียว **ในไฟล์**" - คุณหมายถึงอะไร "ในไฟล์" คุณพยายามอะไร "และไม่ทำงานสำหรับไดเร็กทอรีที่กำลังจัดทำดัชนี" - ไม่มีเหตุผลใดที่จะเป็นเช่นนั้น เว้นแต่คุณจะอ้างถึงเครื่องมือค้นหา "แคช" (ก่อนที่จะมีการใช้ข้อจำกัด) เครื่องมือค้นหาจะไม่สามารถเข้าถึงเนื้อหาได้ตั้งแต่แรกหากถูกจำกัดด้วยคุกกี้ แต่การรับรองความถูกต้องของคุณ (`/authenticate` หรือ `/authorise`?) จำกัดการเข้าถึงหรือไม่
Qubarf avatar
fr flag
"การรับรองความถูกต้องของคุณไม่ได้จำกัดการเข้าถึงอยู่แล้วใช่หรือไม่" - ฉันสับสน นี่หมายถึงการชี้แจงในส่วนของฉันเกี่ยวกับวิธีการทำงานของแบ็กเอนด์เนื่องจากเห็นได้ชัดว่ามันไม่ได้ (และไม่สามารถ) จำกัด การเข้าถึงเนื่องจากไซต์นี้ให้บริการโดย apache มันเพียงแค่ตั้งค่าคุกกี้ที่เหมาะสมในเบราว์เซอร์ของลูกค้าหากให้มา ด้วยรหัสผ่านที่ถูกต้อง โดย "ไฟล์" ฉันหมายถึง "ฉันจัดเก็บคุกกี้เดียว" ที่อ่านโดยโหนดแบ็กเอนด์ของฉันเพื่อตั้งค่าในเบราว์เซอร์ของไคลเอนต์ในไฟล์บนเซิร์ฟเวอร์ ฉันได้ลอง [สิ่งนี้] (https://stackoverflow.com/questions/19932311/apache-dynamic-whitelist)
kz flag
"...และ "หน้าย่อย" ใดๆ ก็ตาม" - "หน้าย่อย" หมายความว่าอย่างไร
Qubarf avatar
fr flag
[อืม](https://en.wikipedia.org/wiki/Subpage) แต่นั่นเป็นรายละเอียดเล็กๆ น้อยๆ แทบจะไม่สำคัญเลยใช่ไหม

โพสต์คำตอบ

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