ป้องกันข้อความ“ เอกสารหมดอายุ” และเพียงแสดงหน้าหมดอายุ?


13

เมื่อฉันส่งแบบฟอร์มแล้วกดกลับบางครั้งฉันได้รับข้อความ "เอกสารหมดอายุ" แทนที่จะเป็นหน้าสุดท้าย

ป้อนคำอธิบายรูปภาพที่นี่

ฉันเคยได้รับกล่องข้อความที่น่ารำคาญต่อไปนี้แทน (ซึ่งตอนนี้ปรากฏขึ้นหลังจากคลิกที่ "ลองอีกครั้ง"):

ป้อนคำอธิบายรูปภาพที่นี่

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

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

ดังนั้นฉันจะกำจัดข้อความ "เอกสารหมดอายุ" และ "ยืนยัน" ได้อย่างสมบูรณ์และรับ Firefox เพื่อแสดงตำแหน่งสุดท้ายที่แคชไว้หลังจากส่งแบบฟอร์ม POST ได้อย่างไร about:configการตั้งค่าส่วนขยายเคล็ดลับพร็อกซีไม่เป็นไร


3
คุณกำลังถามถึงวิธีการแสดงรายการแคชของเอกสารที่ไม่ใช่แคช มันเป็นไปไม่ได้.
paa

3
ถ้าอย่างนั้นฉันขอให้ Firefox ทำแคชไฟล์ :-) ด้วย
jdm

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

@jdm คุณกำลังขอ 1) วิธีการแสดงหน้าฉันได้สำรวจไปในลักษณะเดียวกับที่ฉันเคยเห็นมาก่อน; 2) และวิธีกำจัดกล่องยืนยันของเบราว์เซอร์เพื่อส่งข้อมูลอีกครั้ง ฉันเข้าใจอย่างชัดเจนหรือไม่
laika

@sjrco: 1) ใช่ แต่ไม่ใช่ 2) ฉันต้องการที่จะคลิกกลับและดูว่ามีอะไรบ้าง (สถานะหน้าเดียวกัน) ก่อนที่ฉันจะออกไป (ใช้งานได้ในบางหน้าแม้ว่าพวกเขาจะได้รับการแก้ไขโดย js หรือผู้ใช้กรอกแบบฟอร์มดังนั้นเบราว์เซอร์จะต้องบันทึกเอกสารที่แก้ไขภายใต้บางสถานการณ์) ฉันไม่ต้องการให้เบราว์เซอร์ส่งข้อมูลแบบไม่โต้ตอบ ฉันต้องการระงับกล่องโต้ตอบโมดัลเมื่อไม่ส่งข้อมูลอีกครั้ง
jdm

คำตอบ:


2

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

RFC 2616 ฯ :

13.4 ความสามารถในการตอบสนอง

เว้นแต่ข้อ จำกัด เฉพาะโดยคำสั่งควบคุมแคช (ส่วนที่ 14.9) ระบบแคชอาจจัดเก็บการตอบสนองที่ประสบความสำเร็จเสมอ (ดูหัวข้อ 13.8) เป็นรายการแคชอาจส่งคืนโดยไม่มีการตรวจสอบหากเป็นจริงและอาจส่งคืนหลังจากตรวจสอบได้สำเร็จ .

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


1
แต่จะแคชสถานะสุดท้ายอย่างน้อยในบางสถานการณ์ ลองนี้: gist.github.com/jdmansour/5578079 อย่างน้อย DOM ก็จะถูกเก็บรักษาไว้
jdm

1
ประวัติและแคชไม่เหมือนกัน ดูในส่วน 13.13 ของRFC เดียวกัน ปุ่มย้อนกลับร้องขอการแสดงซ้ำของรายการประวัติไม่ใช่รายการแคช โอเปร่าถูกต้อง Firefox ผิด ทุกคนที่อ้างว่านี่เป็นคุณสมบัติ "ความปลอดภัย" กำลังโง่ คุณสามารถใช้ "เปิดในแท็บใหม่" ได้ตลอดเวลาจากนั้นปิดแท็บใหม่เพื่อดูหน้าก่อนหน้าโดยที่เซิร์ฟเวอร์ไม่ทราบว่าคุณได้ทำเช่นนั้น ปุ่มย้อนกลับที่ทำงานอย่างถูกต้องควรมีผลกระทบอย่างแน่นอน

2

เพื่อกำจัดข้อความเหล่านี้ให้เพิ่มบรรทัด PHP ต่อไปนี้ไว้ที่จุดเริ่มต้นของสคริปต์ทั้งหมดของคุณ:

header ("Expires: Sat, 01 Jan 2000 00:00:00 GMT"); ส่วนหัว ("แก้ไขครั้งสุดท้าย:" .gmdate ("D, d MYH: i: s"). "GMT"); header ("Cache-Control: post-check = 0, pre-check = 0", false); session_cache_limiter ( "ต้องตรวจสอบใหม่");


2
ฉันไม่แน่ใจว่า @jdm ควบคุมหน้าเว็บที่พวกเขากำลังพูดถึงอยู่
Valmiky Arquissandas

2

คำตอบอยู่ที่https://support.mozilla.org/fr/questions/1010942 : เพียงตรวจสอบเครื่องมือ -> ตัวเลือก -> แทนที่การจัดการแคชอัตโนมัติ


นี่ไง! การตั้งค่าอยู่ภายใต้เครื่องมือ / ตัวเลือก / ขั้นสูง / เครือข่าย / แทนที่การจัดการแคชอัตโนมัติ ไม่แน่ใจว่าใช้ได้กับทุกกรณีของ "เอกสารหมดอายุ" แต่ใช้ได้กับกรณีที่ฉันมีซึ่งฉันไม่สามารถดูแหล่งที่มาของการตอบกลับ POST ได้
RomanSt

สิ่งนี้ไม่ควรมีผลกระทบใด ๆ ต่อปัญหานี้เนื่องจากอนุญาตให้คุณตั้งค่าขนาดแคชเท่านั้น: support.mozilla.org/en-US/questions/1037647ฉันสงสัยว่าขนาดแคชที่กำหนดโดยอัตโนมัติคืออะไรถ้าช่วยได้ .. .
Nickolay
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.