Sécurité

La sécurité n'est pas une option. River intègre nativement plusieurs couches de protection.

Protection CSRF

Cross-Site Request Forgery. River génère et valide automatiquement les tokens pour les requêtes POST, PUT, DELETE.

Dans vos formulaires

Utilisez l'injection du service Csrf :

// Contrôleur
$token_field = $this->csrf->field(); // <input type="hidden"...>

// Vue
<form method="POST">
    <?= $csrf_field ?>
    ...
</form>

Sanitizer

Nettoyez les entrées utilisateur pour prévenir les failles XSS.

use River\Sanitizer;

$email = Sanitizer::email($_POST['email']);
$comment = Sanitizer::clean($_POST['comment']); // Échappe le HTML
$slug = Sanitizer::slug('Mon Titre !'); // mon-titre

Rate Limiting

Protégez vos routes sensibles (login) contre le brute-force.

$router->post('login', 'AuthController::login')
       ->middleware(River\Middleware\Rate_limit_middleware::class);

Par défaut : 60 requêtes par minute par IP.

Headers de Sécurité

River ajoute automatiquement :