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 :
X-Content-Type-Options: nosniffX-Frame-Options: SAMEORIGINX-XSS-Protection: 1; mode=block