انتقل إلى محتوى الدرس

Controlling Browser Caching and Refresh التحكم في الكاش والتحويل المؤقت بـ Cache-Control و Refresh

أرسل تحويلات المتصفح بـ Location ورموز الحالة وتنزيل الملفات، وامنع خطأ headers already sent عبر التخزين المؤقت ob_start في PHP 8.
1 صفوف تعليمية
PHP
0 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

يجب أن ترسل لوحات التحكم الخاصة وخطوات الدفع رؤوس Cache-Control صريحة لمنع المتصفحات أو الخوادم الوسيطة من تخزين بيانات المستخدم الحساسة مؤقتاً.

  • استخدم header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0") في الصفحات الخاصة لمنع ظهورها عند الضغط على زر الرجوع بعد تسجيل الخروج.
  • للموارد العامة غير الحساسة، استخدم header("Cache-Control: public, max-age=3600") للتخزين المؤقت لمدة ساعة.
  • يمكن إرسال تحويل مؤجل زمنياً عبر header("Refresh: 5; url=/dashboard.php") للانتظار 5 ثوانٍ قبل التحويل.

تمنع رأس Cache-Control: no-store حفظ صفحة الدفع في ذاكرة المتصفح، بينما توجه Refresh: 3 المتصفح للانتقال لصفحة الطلبات بعد 3 ثوانٍ.

مخطط تدفق التنفيذ العملي لقسم التحكم في الكاش والتحويل المؤقت بـ Cache-Control و Refresh في لغة PHP
PHP
<?php
// Prevent browser caching on sensitive billing page:
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Pragma: no-cache");
header("Refresh: 3; url=/orders.php");

echo "Payment complete! Redirecting to orders in 3 seconds...\n";