Php admin panelde en kolay demo modu nasıl yapılır?

Bunun en kolay yöntemi nedir? Benim aklıma gelen post/get gibi istekleri doğrudan engellemek bir uyarı göstermek.

Doğru yöntem bu mudur ?

<?php
// header.php

// Demo modu aç/kapat
define('DEMO_MODE', true);

session_start();


$writeMethods = ['POST', 'PUT', 'PATCH', 'DELETE'];
if (DEMO_MODE && in_array($_SERVER['REQUEST_METHOD'], $writeMethods)) {
    // Eğer AJAX (fetch, $.ajax vs.) ise JSON cevap dön
    if (
        isset($_SERVER['HTTP_X_REQUESTED_WITH']) &&
        strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) === 'xmlhttprequest'
    ) {
        header('Content-Type: application/json; charset=utf-8');
        http_response_code(403);
        echo json_encode([
            'ok' => false,
            'message' => 'Demo modunda değişiklik yapılamaz.'
        ]);
        exit;
    }

    // session mesaj
    $_SESSION['flash'] = 'Demo modunda değişiklik yapılamaz.';
    header('Location: ' . ($_SERVER['HTTP_REFERER'] ?? '/admin/index.php'));
    exit;
}
?>
<!DOCTYPE html>
<html lang="tr">
<head>
  <meta charset="UTF-8">
  <title>Admin Panel</title>
</head>
<body>

<?php
if (!empty($_SESSION['flash'])) {
    echo '<div style="padding:10px; margin:10px 0; background:#fdd; color:#900; border:1px solid #900; border-radius:5px;">'
        . $_SESSION['flash'] .
        '</div>';
    unset($_SESSION['flash']);
}
?>

<script>
// Önyüzde js ile error
document.addEventListener("submit", function(e){
  alert("Demo modunda değişiklik yapılamaz.");
  e.preventDefault();
});
</script>
<?php endif; ?>