شرح صفوف ومحتوى الفقرة
يجب أن ترسل لوحات التحكم الخاصة وخطوات الدفع رؤوس 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 ثوانٍ.
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";