Score:0

คุณจะปล่อยให้สายผ่านวานิชได้อย่างไรเมื่อไม่ได้ตั้งค่าคุกกี้ "lang"

ธง my

คุณจะปล่อยให้สายผ่านวานิชได้อย่างไรเมื่อไม่ได้ตั้งค่าคุกกี้ "lang" ฉันต้องการให้การโทรผ่านและไม่ส่งคืนแคชเมื่อตั้งค่าคุกกี้ "lang" และส่งคำขอไปยัง apache ฉันจะทำอย่างไร

Score:1
ธง in

ข้ามแคชเมื่อไม่ได้ตั้งค่าคุกกี้ lang

ในรูปแบบพื้นฐานที่สุด นี่คือรหัส VCL ที่คุณต้องการ ผ่าน คำขอไปยังแบ็กเอนด์ที่ไม่มี หรั่ง คุกกี้:

ย่อย vcl_recv {
    if(req.http.Cookie !~ "(^|([^;]*;)+)\s*lang=([^;]*)\s*($|(;[^;]*)+ )") {
        กลับ (ผ่าน);
    }
}

อย่างไรก็ตาม คุณอาจต้องกำหนดตรรกะบางอย่างในกรณีที่ หรั่ง คุกกี้ถูกตั้งค่า

โดยใช้ค่าของคุกกี้ lang

ข้อมูลโค้ด VCL ต่อไปนี้แยกภาษาที่ตั้งค่าโดย หรั่ง คุกกี้และเก็บไว้ใน req.http.lang.

ค่านี้ใช้เพื่อสร้างรูปแบบแคชสำหรับแต่ละภาษา:

ย่อย vcl_recv {
    if(req.http.Cookie !~ "(^|([^;]*;)+)\s*lang=([^;]*)\s*($|(;[^;]*)+ )") {
        กลับ (ผ่าน);
    } 
    ตั้ง req.http.lang = regsub(req.http.Cookie,"(^|([^;]*;)+)\s*lang=([^;]*)\s*($|(;[ ^;]*)+)","\3");
    // ตรรกะอื่น ๆ
    กลับ (แฮช);
}

ย่อย vcl_hash {
    ถ้า (req.http.lang) {
        hash_data(req.http.lang);
    }
}

ตัวอย่างด้านบนยังเรียกอย่างชัดเจน กลับ (แฮช). ในบางจุด คุณจะต้องบังคับให้วานิชแคชเมื่อ หรั่ง มีการตั้งค่าคุกกี้ เนื่องจากพฤติกรรมการเคลือบเงามาตรฐานจะแคชทุกอย่างเมื่อมีคุกกี้

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

หลีกเลี่ยงรูปแบบแคชที่มากเกินไป

เดอะ hash_data(req.http.lang) คำสั่งจะทำให้แน่ใจว่ารูปแบบแคชถูกสร้างขึ้นสำหรับทุกค่าที่ หรั่ง คุกกี้อาจมี

อันตรายคือผู้ใช้ที่มีเจตนาไม่ดีเริ่มเพิ่มค่าสุ่มให้กับ หรั่ง คุกกี้เพื่อเติมแคช

เมื่อคำนึงถึงความเสี่ยงนี้ คุณควรระบุภาษาที่รองรับอย่างชัดเจนในนิพจน์ทั่วไปของคุณ

นี่คือ regex เริ่มต้น:

(^|([^;]*;)+)\s*lang=([^;]*)\s*($|(;[^;]*)+)

ต่อไปนี้คือตัวอย่างภาษาที่รองรับฮาร์ดโค้ด:

(^|([^;]*;)+)\s*lang=(en|es|de|it|es|fr|nl)\s*($|(;[^;]*)+)

เพียงปรับแต่ง regex นี้ให้ตรงกับความต้องการและภาษาที่แพลตฟอร์มเว็บของคุณรองรับ

โพสต์คำตอบ

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