Üretim ortamında ayrıntılı PHP stack trace göstermek geliştirici için kolay, saldırgan için ise gereksiz teknik bilgi kaynağıdır.
Temel prensip
- Canlıda
display_errorskapalı. log_errorsaçık ve log dosyası web root dışında.- Kullanıcıya kısa ve anlaşılır hata mesajı.
- Her hata için correlation/request ID.
- Loglarda parola, token ve kişisel veri maskeleme.
500 hatasında teşhis sırası
- Uygulama logu
- PHP-FPM/Apache/Nginx error log
- Son deploy/değişen modül
- PHP sürümü ve extension değişikliği
- Veritabanı bağlantısı ve timeout
- Dosya izinleri
PrestaShop modüllerinde
Sipariş başarı ekranında hata oluşsa bile ödeme alınmış ve sipariş oluşmuş olabilir. Bu nedenle hata tekrarında “ödeme başarısız” varsayımı yapmak yerine ödeme ve sipariş durumunu idempotent şekilde doğrulamak gerekir.