cocoon-projet/http
最新稳定版本:0.0.2
Composer 安装命令:
composer require cocoon-projet/http
包简介
server request basé sur laminas diactoros
README 文档
README
Composant HTTP avec Protection CSRF
Ce composant PHP fournit une implémentation robuste pour la gestion des requêtes HTTP et la protection CSRF (Cross-Site Request Forgery). Il est construit selon les standards PSR-7 et PSR-15, offrant une solution moderne et sécurisée pour vos applications web.
Caractéristiques
- 🛡️ Protection CSRF intégrée
- 🔄 Middleware Pipeline PSR-15
- 🎯 Routage simple et efficace
- 🔒 Gestion sécurisée des sessions
- ✨ Façades pour une utilisation simplifiée
- 🧪 Tests unitaires complets
Installation
composer require cocoon-projet/http
Configuration requise
- PHP 7.4 ou supérieur
- Composer
- Extension PHP session activée
Utilisation rapide
1. Configuration de base
use Cocoon\Http\Application; use Cocoon\Http\Facades\Request; use Cocoon\Http\Middleware\CsrfMiddleware; // Démarrer la session session_start(); // Créer l'application $app = new Application(); // Initialiser la requête $request = Request::init();
2. Protection CSRF
// Configuration du middleware CSRF $excludedPaths = [ '#^/api/webhook#', '#^/api/external#' ]; $csrfMiddleware = new CsrfMiddleware($excludedPaths); // Ajouter le middleware à l'application $app->add($csrfMiddleware);
3. Utilisation dans un formulaire
<form method="POST" action="/submit"> <!-- Ajouter le token CSRF --> <input type="hidden" name="csrf_token" value="<?php echo Session::get('token')[0]['value'] ?? ''; ?>"> <!-- Vos champs de formulaire --> </form>
Architecture
Composants principaux
-
Application
- Gère le pipeline de middleware
- Traite les requêtes entrantes
-
HttpRequest
- Implémente PSR-7 ServerRequestInterface
- Gère les données de requête ($_GET, $_POST, etc.)
-
Middleware
- CsrfMiddleware : Protection contre les attaques CSRF
- RouterMiddleware : Gestion des routes
- NotFoundMiddleware : Gestion des pages 404
-
Façades
- Request : Accès simplifié aux données de requête
- Session : Gestion des sessions
- Response : Création et envoi de réponses
Exemples d'utilisation
Récupération des données de requête
// Données GET $value = Request::query('param'); // Données POST $value = Request::input('field'); // Sélection de champs spécifiques $data = Request::only(['username', 'email']);
Gestion des sessions
use Cocoon\Http\Facades\Session; // Définir une valeur Session::set('key', 'value'); // Récupérer une valeur $value = Session::get('key'); // Message flash Session::setFlash('success', 'Opération réussie');
Tests
Pour exécuter les tests unitaires :
vendor/bin/phpunit
Sécurité
Le composant intègre plusieurs mesures de sécurité :
- Protection CSRF automatique
- Validation des tokens
- Nettoyage des données de session
- Messages d'erreur sécurisés
Contribution
Les contributions sont les bienvenues ! Veuillez :
- Fork le projet
- Créer une branche pour votre fonctionnalité
- Commiter vos changements
- Pousser vers la branche
- Créer une Pull Request
Licence
MIT License. Voir le fichier LICENSE pour plus de détails.
Support
Pour toute question ou problème :
- Consultez la documentation
- Ouvrez une issue sur GitHub
- Contactez l'équipe de développement
Développé avec ❤️ par l'équipe Cocoon
统计信息
- 总下载量: 5
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2023-11-12