submit.php 1.1 KB

123456789101112131415161718192021222324252627282930313233
  1. <?php
  2. require_once "../env.inc.php";
  3. require_once "../conf.inc.php";
  4. require_once DIR_PHP_LAYOUTS . "header.php";
  5. secureSession::start();
  6. require_once "../access.inc.php";
  7. require_once DIR_PHP_LAYOUTS . "events.session.php";
  8. // Validation CSRF pour les soumissions POST
  9. if ($_SERVER['REQUEST_METHOD'] === 'POST') {
  10. // Validation via header AJAX
  11. if (!csrf::validateHeader('events-ajax', 'X-CSRF-Token')) {
  12. error_log("CSRF validation failed for events submit from IP: " . ($_SERVER['REMOTE_ADDR'] ?? 'unknown'));
  13. if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) === 'xmlhttprequest') {
  14. http_response_code(403);
  15. header('Content-Type: application/json');
  16. echo json_encode([
  17. 'success' => false,
  18. 'error' => 'csrf_failed',
  19. 'message' => 'Token de sécurité invalide. Veuillez recharger la page.'
  20. ]);
  21. exit();
  22. } else {
  23. header('Location: /');
  24. exit();
  25. }
  26. }
  27. }
  28. get::submit();